Fish
命令序列的魚等價物 - { cmd1 ;cmd2;}
在 bash 中,您可以使用 將相同的輸出傳遞給兩個命令
{}
,即:cmd0 | { cmd1 ; cmd2 ;} | cmd3
cmd1 和 cmd2 在它們的標準輸入中獲得 cmd0 的輸出,而 cmd3 在其標準輸入中獲得 cmd2 的輸出附加到 cmd2 的輸出。
此功能的名稱是什麼
{}
,魚中是否有等價物?
該功能稱為命令分組。
在fish shell中,它似乎是通過使用
begin
andend
代替 bash{
和}
大括號來提供的——我只是從錯誤報告中發現的一個功能:請注意,無論 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 fum