ループ内の変数を複数の変数に分割

ループ内の変数を複数の変数に分割

このフォーラムで検索して別のコードを試していますが、うまく動作しないようです。

変数があります。

ip="192.168.1.227 192.168.1.205 192.168.1.217"

いいえ、各IPアドレスを異なる変数に分割したいと思います。

ip1=192.168.1.227
ip2=192.168.1.205
ip3=192.168.1.217

言葉で何かをしようとしています。

for ((word in $vds; i=0; i++));
do
echo $word
"ip$i"=$word
done

しかし、私はそれを動作させることはできません。

ベストアンサー1

あなたがそうする可能性はほとんどありません実際に各個々のIP番号に別々の変数を割り当てたいと思います。 IP 番号をアレイに保存すると、管理が簡単になります。

ipnumbers=( $ip )

引用符のないこの使用は、$ip(変数のデフォルト値を想定してIFS)その値をスペースに分割し、結果の単語に対してファイル名ワイルドカードを呼び出しますが、データにファイル名ワイルドカードパターンがないため問題ありません。次に、分割された単語を配列の別々の要素として割り当てますipnumbers

次に(2番目の要素の場合)を使用して個々の要素にアクセスするか、"${ipnumbers[1]}"ループを使用して繰り返すことができます。

for ipnum in "${ipnumbers[@]}"; do ...; done 

おすすめ記事