循环中的这一行应该将三个字符串加在一起
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
看起来它包含=作为第一个字符串的一部分?
答案 0 :(得分:2)
./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]}
设置变量时,你永远不会想要一个变量的前导'$',或换另一种方式,通常你不想在'='赋值的左侧有'$'。 / p>
我不熟悉bash中的for each
构造。你确定这是对的吗?我期待像
for drivecount in 1 2 3 ; do
....
最后,您包含的语法用于引用与赋值无关的数组元素。
for dc in 1 2 3 ; do
echo ${drives[$dc]}
done
IHTH。