如何在fish Shell中用psub实现双命令处理同一标准输入?
在fish Shell中实现多进程处理同一标准输入
zsh里的tee >(cmd)属于进程替换语法,但fish不支持这种写法,需要用psub工具模拟。
针对你的需求,正确的fish命令写法如下:
echo '"tom" is a cat, and "jerry" is a mouse.' | tee (psub -s | cut -d '"' -f 2) (psub -s | cut -d '"' -f 4) >/dev/null
关键说明:
psub -s:创建可写临时管道,tee写入的内容会被后续命令读取,以此模拟zsh中>(cmd)的进程替换效果- 用单引号包裹echo的字符串,避免双引号的转义麻烦
>/dev/null:屏蔽tee自身的标准输出,只保留两个cut命令的结果
运行后会输出:
tom jerry
内容的提问来源于stack exchange,提问作者Ahmad Ismail
相关产品推荐
相关产品推荐

