循环中的这一行应该将三个字符串加在一起
for each $drivecount
${drives[$drivecount]}=${info[$count+1]}" "${info[$count+2]}" "${info[$count+3]}
这是我得到的错误:
./erasehd.sh: line 17: =/dev/sda: 80.0 GB: No such file or directory
看起来它包含 = 作为第一个字符串的一部分?
./erasehd.sh: line 17: =/dev/sda: 80.0 GB: No such file or directory
不,它忽略了前面未声明的变量并尝试=/dev/sda...
作为命令执行。;-) .... 你要
for each $drivecount
drives[$drivecount]=${info[$count+1]}" "${info[$count+2]}" "${info[$count+3]}
设置变量时,您永远不需要在变量上使用前导“$”,或者换一种说法,通常您不希望在“=”赋值的左侧使用“$”。
我不熟悉for each
bash 中的构造。你确定这是对的吗?我希望像
for drivecount in 1 2 3 ; do
....
最后,您包含的语法用于引用与赋值无关的数组元素。
for dc in 1 2 3 ; do
echo ${drives[$dc]}
done
IHTH。