2017-09-07 29 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" 
相关问题