this questionで説明されているように、配列をシェルスクリプトに渡すことを試しています。私はそうのように、私のスクリプトを実行していると一直線に配列変数を宣言しbashでコマンドを実行する前に配列を割り当てることはできますか?
#!/bin/bash
echo "$1"
echo "${!1}"
arrayVar=("${!1}")
echo "${arrayVar[1]}"
:
array=(foo bar test) ./test.sh array[@]
私は単純に配列の名前に取ると、アレイをプリントアウトするように設計された小さなスクリプトを書きました
出力:
|array[@] # the bars are only here to force the final blank line
|(foo bar test)
|
array
が、代わりに実際には配列であることの、単純に文字列(foo bar test)
位置パラメータを介して間接的にではなく、array
を直接名前にエコーするスクリプトを変更しても、同じ結果が得られます。
#!/bin/bash
echo "$1"
arrayVar=("${!1}")
echo $arrayVar
echo "${arrayVar[1]}"
echo $array
echo "${array[1]}"
出力:
|array[@] # the bars are only here to force the final blank line
|(foo bar test)
|
|(foo bar test)
|
私は単に何か間違ったことをやっている、またはbashのコマンドの前に、配列の割り当てをサポートしていませんか?