gpt4 book ai didi

bash 管道输出到多个进程

转载 作者:行者123 更新时间:2023-11-29 09:21:26 25 4
gpt4 key购买 nike

bash 管道问题

我见过类似的问题和答案,但我问的是将输出管道输出到多个进程的最基本情况。比如我想输出fortune给cowsay和(espeak &)。我有一个解决方案(如下),但必须有更简单、更优雅的方法。

joshua@joshua-HP-Pavilion-dv8-Notebook-PC ~ $ cat .bashrc

(fortune -a > ~/tmp) && echo && (cat ~/tmp |cowsay -W65) && (cat ~/tmp | espeak &)
rm ~/tmp

输出:

  ___________________________________________
/ I ain't got no quarrel with them Viet Congs. \
| |
\ -- Muhammad Ali /
----------------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
joshua@joshua-HP-Pavilion-dv8-Notebook-PC ~ $

加上来自作为后台进程运行的 espeak 的音频 (| espeak &)。我的解决方案将输出重定向到文件 (~/tmp),执行操作,然后删除 ~/tmp。为什么我做不到,例如:

fortune -a | (cowsay -W70 && espeak &)

?我尝试了很多变体,这是我的尝试历史:

  501     fortune -a | (cowsay -W70 && espeak &)
502 fortune -a | (cowsay -W70 && espeak)
503 fortune -a | (cowsay -W70 | espeak)
504 fortune -a | (cowsay -W70; espeak)
505 fortune -a | (espeak | cowsay -W70; espeak)
506 fortune -a | (espeak | cowsay -W70)
507 fortune -a | (espeak & | cowsay -W70)
508 fortune -a | (espeak & && cowsay -W70)
509 fortune -a | (espeak && cowsay -W70)
510 fortune -a | (espeak && cowsay -W70)
511 (fortune |cowsay -W65) && (cat ~/tmp | espeak &)
512 (fortune |cowsay -W65) && ( espeak &)
513 (fortune |cowsay -W65) && espeak &
514 fortune | (cowsay -W65 && espeak &)
515 history

此外,这是我第一次尝试发布问题。欢迎提出建设性意见!

最佳答案

您可以将 tee 与进程替换结合使用。

fortune -a | tee >(cowsay -W65) >(espeak)

关于bash 管道输出到多个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33222015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com