bashで、その中に他の変数を含む変数の値:出力、私は私のスクリプトで次の2行だ
a=2;for i in {c..k};do let a+=1; export disk${a}_device=/dev/sd$i;done
for i in {3..11}; do sudo dd if=/dev/zero of=$(echo $[disk${i}_device]) bs=512 count=1;done
私の問題があるが、そのエコー$ [ディスク$ {I} _device]代替は、このようにヌルとします DDの場合= = BSのは/ dev /ゼロ= 512数= 1
私は何を達成しようとしていることであるに:
export disk3_device=/dev/sdc
export disk4_device=/dev/sdd
export disk5_device=/dev/sde
.....
、その後
sudo dd if=/dev/zero of=/dev/sdc bs=512 count=1
sudo dd if=/dev/zero of=/dev/sdd bs=512 count=1
sudo dd if=/dev/zero of=/dev/sde bs=512 count=1
..... e.t.c
私は予想通りしかし、変数の展開は動作しません。
驚くばかり!ありがとうWebb!私は\ $$ "構造をかなり得ていませんでしたが、私にとって重要なのはそれが働いていることです:) – Joro
そのいくつかは必要ではなく、私は答えを簡略化しました。私の理解は' echo \ $ disk $例えば、 '$ disk3_device'という文字列を生成し、'/dev/sdc'を生成して評価します。 – webb
もう一度おねがいします。/sd [ck] -exec sudo dd if = /} bs = 512 count = 1 \; ' – Joro