逐行处理命令输出,不混合标准输入

他们大叫

因此,我有一个非常类似于Bash的问题:如何一次从命令输出读取一行?, 我在做:

while read path; do mplayer $path; done < <(find-me-random-mp3s)

或者

find-me-random-mp3s | while read path; do mplayer $path; done

该命令find-me-random-mp3s在新行中输出文件路径。该问题在mplayer运行时开始,它开始消耗find-me-random-mp3s输出中的,即path在每次迭代中应该填充到变量内的行

我继续进行了这个肮脏的修复:

find-me-random-mp3s | while read path; do cat /dev/null | mplayer $path; done

但是我不太喜欢它,它也阻止了我与mplayer的终端交互。

在这种情况下是否可以使用其他替代方法?

约翰1024
exec 3<&0
while read line
do
    mplayer "$line" <&3
done < <(find-me-random-mp3s)

这会将终端输入复制到文件描述符3。在while循环中,从您的find-me-random-mp3s程序读取stdin的所有位置,除了mplayer从您的终端文件描述符3获取其stdin行。因此,您仍然可以与进行交互mplayer

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

逐行处理标准输入

来自分类Dev

逐行阅读标准输入

来自分类Dev

Python文件处理:标准输入和输出

来自分类Dev

如何将命令的输出作为流逐行处理

来自分类Dev

如何将命令输出作为流逐行处理

来自分类Dev

通过标准输入/标准输出处理交互

来自分类Dev

如何逐行读取标准输出?

来自分类Dev

C ++文件处理-输出与输入不匹配

来自分类Dev

在sh中将两个命令的标准输出从命令传递到标准输入

来自分类Dev

GNU“ parallel --pipe”不按行处理标准输入

来自分类Dev

关闭标准输出或标准输入

来自分类Dev

尝试从标准输入中打印较小的字符串,以获得混合输出

来自分类Dev

命令需要文件路径。如何为“ infile”赋予标准输入,为“ outfile”赋予标准输出?

来自分类Dev

是否存在不更改输入和输出的虚拟命令?

来自分类Dev

是否存在不更改输入和输出的虚拟命令?

来自分类Dev

外壳程序是否像其他命令一样具有相同的标准输入,标准输出,标准错误?

来自分类Dev

在bash中,将一个命令的输出逐行输入到另一个命令中

来自分类Dev

如何逐行处理输出并保存返回状态?

来自分类Dev

重定向标准输入和标准输出

来自分类Dev

重定向标准输入和标准输出?

来自分类Dev

阅读并打印“标准输入和标准输出”

来自分类Dev

tar命令写入标准输出

来自分类Dev

从外壳逐行处理输入(带空行)

来自分类Dev

在 PowerShell 中逐行处理输入 [string]

来自分类Dev

从标准输入读取粘贴命令

来自分类Dev

管道命令使标准输入损坏

来自分类Dev

Python多处理标准输入

来自分类Dev

如何将命令的标准输出发送到Expect输入?

来自分类Dev

输出与输入不匹配

Related 相关文章

热门标签

归档