편집하다

편집하다

이 링크는 관련이 있습니다bash 대체와 파이프의 차이점은 무엇입니까?하지만 나는 말하는 내용을 모두 잘 이해하지 못합니다.

command1 | command2파이프 명령과 확장 명령의 차이점은 무엇입니까 command2 $(command1)? 예를 들어

vi $(find /home | grep xyzzy)

편집을 위해 결과를 vi로 출력하는 반면

find /home | grep xyzzy | vi

나에게는 효과가 없는 것 같습니다. 그러나 나는 근본적인 차이점을 이해하지 못합니다.

편집하다

기타 관련 게시물

프로세스 대체 및 파이프

프로세스 대체 및 파이프

답변1

A|B

A와 B는 (병렬로) 실행되며 A의 표준 출력이 B의 표준 입력으로 공급됩니다.

A $(B)

쉘은 먼저 B를 실행하고 B의 표준 출력을 수집한 다음 A를 실행하지만 이 실행을 위해 개별 단어를 A의 ARGV 벡터에 할당합니다(즉, A는 C 및 기타 언어에서 알려진 공통 argv 메커니즘을 통해 단어에 액세스할 수 있습니다).

두 경우 모두 두 개의 프로그램 A와 B가 관련되어 있다는 점을 제외하고는 그들 사이에 어떤 유사점도 보이지 않습니다.

답변2

첫 번째는 vi <list_of_filenames>.

두 번째 는 파일 이름을 vi. vi물론 텍스트를 파이프로 연결할 수 있지만 vim이는 파일 이름 자체가 아니라 처리할 텍스트로 해석됩니다. (를 사용해야 합니다 vim -. man vim자세한 내용은 참고자료를 참조하세요.)

관련 정보