Bash에서는 동일한 출력을 두 개의 명령으로 파이프할 수 있습니다 {}
. 즉, 다음과 같습니다.
cmd0 | { cmd1 ; cmd2 ;} | cmd3
cmd1 및 cmd2는 stdin에서 cmd0의 출력을 가져오고 cmd3은 cmd2의 출력에 추가된 stdin에서 cmd2의 출력을 가져옵니다.
이 기능의 이름은 무엇입니까 {}
? 물고기에도 비슷한 기능이 있나요?
답변1
이 함수는명령 그룹화.
내부에생선 껍질, 이는 bash 와 중괄호 대신 begin
및를 사용하여 제공되는 것으로 보입니다. 버그 보고서에서 방금 발견한 기능입니다.end
{
}
쉘에 관계없이 이를 수행할 수 있는 첫 번째 명령은 표준 입력을 사용합니다.
( 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