在bash中使用数组到rm文件

时间:2015-04-05 12:04:55

标签: bash

您好我正在使用数组来保存我的硬盘上的歌曲的详细信息,然后使用rm删除该文件,如果我有多个副本(这在脚本中的另一个位置检查),其中包含详细信息数组,但我一直得到错误没有文件或目录

将我的歌曲或歌曲加载到数组后,我测试了数组的值

echo "song store in array "${myarray[$d]}

这会产生

song store in array /media/sdate/music/Disco 80's/013. Donna Summer - She Works Hard For The Money.mp3

然后我跑

rm {myarray[$d]}
rm: cannot remove ‘/media/sdate/music/Disco 80's/013. Donna Summer - She Works Hard For The Money.mp3 ’: No such file or directory

我试过了

rm {myarray[$d]}
rm "{myarray[$d]}"
rm `{myarray[$d]}`

但仍然没有快乐。

1 个答案:

答案 0 :(得分:0)

在索引$d获取数组元素的语法是

${myarray[d]}

为防止shell在空格上拆分字符串,请双击它:

rm "${myarray[d]}"

(您可以在索引中使用d之前的$,但这不是必需的。)