Bash 单独执行目录中的所有文件
我一直在尝试编写一个shell脚本来遍历目录树并播放它找到的每个mp3文件。考虑到我在mac电脑上,afplay是我选择的实用工具。然而,afplay一次只接受一个参数,所以如果你想让它继续播放,你必须反复调用它。似乎最简单的解决方案如下:Bash 单独执行目录中的所有文件,bash,macos,awk,Bash,Macos,Awk,我一直在尝试编写一个shell脚本来遍历目录树并播放它找到的每个mp3文件。考虑到我在mac电脑上,afplay是我选择的实用工具。然而,afplay一次只接受一个参数,所以如果你想让它继续播放,你必须反复调用它。似乎最简单的解决方案如下: $(`find . -name *.mp3 | awk '{ print "afplay \047" $0 "\047"; }' | tr '\n' ';' | sed 's/;/; /g'`) …但在引用的逃逸过程中,有些东西不断被卷入。为了快速参考,\
$(`find . -name *.mp3 | awk '{ print "afplay \047" $0 "\047"; }' | tr '\n' ';' | sed 's/;/; /g'`)
…但在引用的逃逸过程中,有些东西不断被卷入。为了快速参考,\047是“(单引号字符)的八进制,它应该将参数封装成一个,但由于某些原因,它不是。我不知道这里出了什么问题。为什么不干脆
查找-名称'*.mp3'-exec afplay'{}'\代码>?如果您的所有歌曲都是这样的:
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
((i=1;i)的