我是一个懒惰的流浪汉,我一直在尝试制作一个简单的bash脚本来将文件从com传输到我的手机。但是,当我运行以下脚本时,我不断收到“文件名无效”
for f in *.mp3
do
bluetooth-sendto --device=<ADDRESS> ${f}
done
任何人都能指出我正确的方向吗? :)
答案 0 :(得分:1)
您的一个文件正确包含空格。当不引用参数扩展时,它们将进行单词拆分和通配。根据经验,你应该总是引用:
for f in *.mp3; do
[ -e "$f" ] || continue
bluetooth-sendto --device=<ADDRESS> "$f"
done
[ -e "$f" ] || continue
的原因是,如果找不到文件,则文字*.mp3
将位于f
。