我试过下面的命令find ~/dir1 *.m4a | play
find ~/dir1 *.m4a | play
目录dir1正好有1个m4a文件,我希望它被播放但是我得到一个使用错误从播放。 为什么?
可能会发挥不使用STDIN所以你必须使用xargs
find ~/dir1 \*.m4a |xargs play
你写的东西指示find命令的输出(一个m4a文件) 作为输入发送到下一个命令play。
现在,我不知道这是什么玩法,但最有可能的是,它的语法是这样的:
play filename
但是你写的是:
play < "filename"
所以,你可能想要做的就是使用像xargs这样的命令,
find ~/dir1 *.m4a | xargs play
其结果是:
play foundfile1 foundfile2 ...
您正试图将文件的内容管道化(即通过STDIN发送)。 据我所见,从剧本的手册页,它不能做到这一点。
你想发送找到的文件名,像这样:
找到〜/ dir1 * .m4a | xargs玩
使用find -name *.mp4 -exec play {} /;
尝试另一种方式:
play ~/dir1 *.m4a
如果不工作 – 检查是否支持m4a
或者在你的点子线中尝试xargs
xargs play