macOS에서 `pwd`를 `open`으로 파이프할 수 없는 이유는 무엇입니까?

macOS에서 `pwd`를 `open`으로 파이프할 수 없는 이유는 무엇입니까?

이는 macOS에만 해당되지만 이해하기에는 너무 유니크해 보입니다.다양한 요청을 해보세요지역 사회.

터미널에서 pwd결과를 복사한 다음 open결과를 입력하고 붙여 넣으면 폴더가 Finder에서 열리지만

pwd | open

인쇄된 도움말 문서 open. 파이핑은 작동하지 않지만 붙여넣기는 작동하는 이유는 무엇입니까?

답변1

macOS의 유틸리티는 open표준 입력에서 읽지 않고 대신 명령줄에서 인수를 가져옵니다.

현재 작업 디렉토리를 열려면 다음과 같이 말해야 합니다.

$ open "$( pwd )"

또는

$ open "$PWD"

아니면 단순히

$ open .

아래 댓글에서 알 수 있듯이.

-f플래그를 사용하면 open표준 입력에서 읽을 수 있지만 기본 텍스트 편집기에서 받은 내용만 열 수 있습니다.

답변2

Mac이 없어 테스트할 수 없지만 해결 방법은 다음과 같습니다.

open "`pwd`"

stdin모든 프로그램이 파이프라인 작동에 필요한 입력을 받는 것은 아닙니다.

답변3

pwd | xargs open

xargs표준 입력을 첫 번째 인수의 매개변수에 푸시합니다.

답변4

파이프를 사용하여 -f텍스트 편집기에서 이전 명령의 내용을 열 수 있습니다. 이것은 텍스트 편집기에서만 작동합니다. 다른 응용 프로그램의 경우 다른 질문에 제안 사항을 사용해야 합니다.

예를 들어:

ls | open -f

그러면 출력이 포함된 기본 텍스트 편집기가 열립니다 ls.

다음을 사용하여 사용할 텍스트 편집기를 지정할 수도 있습니다 -a.

ls | open -a 'Atom' -f

그러면 Atom이 열리고 ls콘텐츠가 출력됩니다.

관련 정보