RET=$ とはどういう意味ですか?以前の答えから?

RET=$ とはどういう意味ですか?以前の答えから?

このスレッドでは:https://superuser.com/questions/569092/how-to-split-the-http-error-code-from-the-contents-in-curl

この部分は次のことを意味します。


if [[ $RET -ne 0 ]] ; then
    # if error exit code, print exit code
    echo "Error $RET"

これをエラー処理として使用したいのですが、400を返した場合はまだelseセクションに応答してコードのみを表示するので、この条件が何であるかわかりません。 httpsステータスコードですか、それとも失敗したリクエストですか?もう少し詳しく説明してください。

申し訳ありません。コメントを追加できません。 :(これが新しい質問の理由です。

ベストアンサー1

あなたが言及した質問を見ると、次のことがわかります。

OUT=$( curl -qSfsw '\n%{http_code}' http://superuser.com ) 2>/dev/null

# get exit code
RET=$?

if [[ $RET -ne 0 ]] ; then
    # if error exit code, print exit code
    echo "Error $RET"
    ...
else
    ...
fi

組み込み$?変数は、以前に実行したコマンドの戻りコード(この場合)を含む特殊変数ですcurl。これは戻りコードです。バイナリからcurlシェルに戻るいいえこの例では、HTTPステータスコードコンソール出力curl

OUT= ...したがって、RET=$?その行と上書きの間にコマンドがない場合、実装は$?エラーcurlが発生しても戻りコードをエクスポートします(この場合、オプションは戻りを示すため奇妙です)。0400-fcurl22

ところで、その声明に注目してください

OUT=$( curl ... ) 2>/dev/null

言うことはできません。

OUT="$( curl ... 2>/dev/null )"

おすすめ記事