我一直在尝试编写一个shell脚本来运行目录树并播放它找到的每个mp3文件。鉴于我在Mac上,afplay是我选择的实用工具。但是,afplay一次只能使用一个参数,所以如果你想让它继续播放,你必须反复调用它。似乎最简单的解决方案如下:
$(`find . -name *.mp3 | awk '{ print "afplay \047" $0 "\047"; }' | tr '\n' ';' | sed 's/;/; /g'`)
...但是有些事情一直在被引用的逃避所困扰。为了快速参考,\ 047是'(单引号字符)的八进制,它应该将参数封装成一个,但由于某种原因它不是。我不知道这里出了什么问题。
答案 0 :(得分:5)
为什么不只是find . -name '*.mp3' -exec afplay '{}' \;
?
答案 1 :(得分:0)
如果你的所有歌曲都是这样的话:
1. song_name.mp3
2. song_name.mp3
3. song_name.mp3
...
20. song_name.mp3
播放所有20个你可以循环
for ((i=1; i<=20; i++)); do afplay $i* ; done