2017-09-07 28 views
0

我有一個bash這樣的代碼:爲什麼bash在curl後不執行代碼?

set -x 
status=$(curl --write-out '%{http_code}' $nb_url) 
echo "got status code = $status" 

這裏是調試輸出,我得到:

++ curl --write-out '%{http_code}' 'https://myurl:54516/?token=89835a6dd0793eda' 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
    0  0 0  0 0  0  0  0 --:--:-- --:--:-- --:--:--  0curl: (7) Failed connect to myurl:54516; Connection refused 
+ status=000 

所以狀態設置爲000,但回聲從未執行。你知道爲什麼嗎?

+2

有一個「設置-e」你'設置-e'腳本或類似的東西的地方更早? –

+0

我用set -e得到了相同的輸出。 –

+0

是的,我期望'設置-e'導致觀察到的行爲,它會導致腳本退出該行 –

回答

0

的問題是,我在劇本

set -e # <-- Remove this line it works 
set -x 
status=$(curl --write-out '%{http_code}' $nb_url) 
echo "got status code = $status" 
相關問題