如何连接 fish shell 中的两个无限流?
How to concatenate two infinite streams in fish shell?
在 Fish shell 中,我如何对命令进行分组,例如所有都应该通过管道传输到同一个下一个命令吗?
例如,在bash
# With "normal" commands
(cat file1; cat file2) | xargs -I% echo 'this is a line: %'
# Or with commands that might not end, to intertwine the output of both
(tail -f infinite-log1 & tail -f infinite-log2) | xargs -I% echo 'this is a line: %'
起初我以为我可以用 cat
和 psub
来解决它,但这不起作用,因为其中任何一个都不是为无限流而设计的。
# This won't work
cat (infinite-stream-1 | psub) (infinite-stream-2 | psub) | xargs -I% echo 'this is a line: %'
您需要 begin
和 end
而不是括号。例如
begin; tail -f infinite-log1 & tail -f infinite-log2; end | xargs -I% echo 'this is a line: %'
请注意,fish 的后台功能有限,目前还不能后台功能。
在 Fish shell 中,我如何对命令进行分组,例如所有都应该通过管道传输到同一个下一个命令吗?
例如,在bash
# With "normal" commands
(cat file1; cat file2) | xargs -I% echo 'this is a line: %'
# Or with commands that might not end, to intertwine the output of both
(tail -f infinite-log1 & tail -f infinite-log2) | xargs -I% echo 'this is a line: %'
起初我以为我可以用 cat
和 psub
来解决它,但这不起作用,因为其中任何一个都不是为无限流而设计的。
# This won't work
cat (infinite-stream-1 | psub) (infinite-stream-2 | psub) | xargs -I% echo 'this is a line: %'
您需要 begin
和 end
而不是括号。例如
begin; tail -f infinite-log1 & tail -f infinite-log2; end | xargs -I% echo 'this is a line: %'
请注意,fish 的后台功能有限,目前还不能后台功能。