変数に格納されている配列に項目を追加しようとしていますが、どのように期待しているのでしょうか。ここで引用符付きの要素をbash配列に追加する
は私がやろうとしているものです:
array=()
item_to_add="1 '2 3'"
array+=(${item_to_add})
for item in "${array[@]}"; do
echo "item: ${item}"
done
私は出力に次のことをこのことを期待したい:
item: 1
item: '2 3'
私が代わりに次のような出力を得るしかし:
item: 1
item: '2
item: 3'
eval
のようなものを使用せずにこのコードのように動作させる方法はありますか?
array=()
array+=(1 '2 3')
for item in "${array[@]}"; do
echo "item: ${item}"
done
そして、それからの出力:
item: 1
item: '2 3'
あなたはどのようにERR、引用符を解析し、解析することをステージに戻ることなく、引用符を解析するために期待していますか? –
...ここで実際のユースケースは何ですか?たとえば、ファイルからパラメータリストを読み込もうとしている場合は、それを行うより良い方法があります。 (短い形式:内容をNUL区切り形式でファイルに入れます。これは、必要な解析を一切行わずに直接シェル配列として表すことができます)。 –
最初に 'item_to_add'を配列にするのはなぜですか? – Barmar