0
私はこのようなbashのコードがあります。ここではなぜbashはカールの後でコードを実行しないのですか?
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に設定されているが、エコーは実行しません。なぜなのかご存知ですか?
「を-e設定」していたということですが、あなたが '以前にそのようなスクリプトか何かでどこか-e'設定していますか? –
私はset -eで同じ出力を得ました。 –
ええ、私は 'set -e'が観察された振る舞いを引き起こすと期待します。その行の後にスクリプトを終了させるでしょう。 –