0
API呼び出しのリストを作成し、応答コードをupdateResponses
という配列に収集するスクリプトがあります。私はたくさん配置されて見て、declare -p
が推奨されましたが、それは記載されている方法で動作していないか、または私はそれを間違って使用しています。シェルスクリプトから配列を返してシェルコマンドラインで反復/処理する
私が必要とするもの:スクリプトから配列を返し、要素を反復して検証します。
マイscript.sh
は、このアクションのハイライトが含まれています。私の端末で
updateResponses=()
do
..get statusCodes from list of calls in a loop...
updateResponses+=("$statusCode")
done
declare -p updateResponses
私はこのスクリプトを実行した後、私は配列をプリントアウト表示されますが、それはそれあるかのように見えますが、反復処理するための配列ではありません使用するために再初期化されました。 echo "${#updateResponses[@]}"
を実行すると、サイズとして0が返されます。 script.sh
後の出力の
例が動作して行われます。
declare -a updateResponses='([0]="200" [1]="200" [2]="200" [3]="200" [4]="200" [5]="200" [6]="200" [7]="200" [8]="200" [9]="200" [10]="200" [11]="200" [12]="200" [13]="200" [14]="200" [15]="200" [16]="200" [17]="200" [18]="200" [19]="200" [20]="200" [21]="200" [22]="200" [23]="200" [24]="200" [25]="200" [26]="200" [27]="200" [28]="200" [29]="200" [30]="200" [31]="200" [32]="200" [33]="200")'
ありがとうございます。私の配列はスクリプトで作成されているので、これを追加しました。 <(declare -p updateResponses) 'を実行します。 'script.sh:行59:予期しないトークンに近い構文エラー'( ' 'script.sh:行59:'。<(宣言-p updateResponses)' ' –
@OjenG:あなたが 'bash'を実行していないように聞こえます – choroba
私の' .sh'ファイルは '#!/ bin/bash'で始まっていますので、bashと解釈されるべきでしょうか? –