在bash中,可以使用{}将相同的输出输送到两个命令,即如下所示:
cmd0 | { cmd1 ; cmd2 ;} | cmd3cmd1和cmd2在stdin中获得cmd0的输出,cmd3在stdin中获得附加到cmd2输出的cmd2的输出。
这个{}特性的名称是什么,在鱼中有等效的吗?
发布于 2020-02-06 19:01:07
该特性称为命令分组。
在鱼壳中,它似乎是通过使用begin和end来代替bash的{和}大括号来提供的--这是我从bug报告中发现的一个特性:
请注意,不管shell如何,能够这样做的第一个命令将使用标准输入ex。
(bash):
$ echo foo | { sed 's/oo/aa/'; sed 's/oo/um/'; }
faa(fish):
> echo foo | begin sed 's/oo/aa/'; sed 's/oo/um/'; end
faa但
> echo foo | begin echo cmd1 ; sed 's/oo/um/'; end
cmd1
fumhttps://unix.stackexchange.com/questions/566171
复制相似问题