Bash 的进程替换 "<(command)" 在鱼壳中等效

ann*_*hri 4 fish

在 bash 中,我通常会grep -f <(command) ...(例如我选择 grep)来模拟文件输入。

鱼壳中的等价物是什么?我在文档中找不到它。

ter*_*don 5

<()>()构建体被称为“过程替代”。我不使用fish,但根据它的文档,它不直接支持这个:

子shell、命令替换和进程替换密切相关。fish 仅支持命令替换,其他的可以使用块或 psub shellscript 函数来实现。

确实,psub似乎是你想要的

## bash
$ seq 10 | grep -f <(seq 4 5)
4
5

## fish
~> seq 10 | grep -f (seq 4 5 | psub)
4
5
Run Code Online (Sandbox Code Playgroud)

  • Fish 目前没有相当于 `&gt;()` 输出进程的替代。 (3认同)
  • 是的,进程替换的价值在于当您需要将多个内容流传递给进程时。例如 `diff -u &lt;(排序文件1) &lt;(排序文件2)` (2认同)