文字列を使用してfold
文字配列を作成しています。
INPUT=$1
arr=($(fold -w1 <<< "$INPUT"))
echo "$arr"
echo "$arr[@]"
コマンドを使用して./myProgram 1234
スクリプトを実行します。
予想出力:1 2 3 4
私が得るもの:1
そして1[@]
ベストアンサー1
出力を配列に正しく割り当てましたが、逆参照の助けが必要です。
エコ「$arr」
単純に配列の最初の要素(たとえば)を出力します1
。
エコ "$arr[@]"
中かっこが欠落している場合、bashに配列を添字として指定し、上記のように最初の$arr
要素を逆参照してから印刷します[@]
。
代わりに、以下を使用してください(例:)。
printf '%s ' "${arr[@]}"
より配列に関する bash マニュアルセクションそれは言う:
参照配列のすべての要素を使用できます
${name[subscript]}
。シェルのファイル名拡張演算子との競合を防ぐには、中かっこが必要です。