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


12

이것은 macOS에만 해당되지만 Ask Different 커뮤니티 에 가기에는 너무 유쾌한 것 같습니다 .

터미널 pwd에서 결과를 복사하고 결과를 입력 open하여 붙여 넣으면 폴더가 Finder에서 열립니다.

pwd | open

에 대한 도움말 문서를 인쇄합니다 open. 파이핑은 작동하지 않지만 붙여 넣기는 왜 작동합니까?


open을 사용하면 Enter 키를 누른 후 디렉토리 이름을 입력 해야하는 경우에만 작동합니다.
Jasen

9
또한, 이것은 (맥 사용자가 아닌) 작동해야합니다 : open .(현재 디렉토리의 경우)
UniversallyUniqueID

@BharadwajRaju가 open .작동하고 가장 쉬운 것처럼 보입니다. 타이.

답변:


20

Mac이 없어서 테스트 할 수 없지만 솔루션은 다음과 같아야합니다.

open "`pwd`"

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


1
큰 따옴표는 필요하지 않습니다.
tbodt

4
@ tbodt :에서 사용해보십시오 /var/tbodt's files.
Julie Pelletier

2
@ tbodt : 사용 된 공간이 인수 또는 인수의 일부를 분리하는 것인지 어떻게 쉘이 알 수 있습니까?
Julie Pelletier

2
@ jamesdlin : bash개발 프로젝트 에 불만을 제기하십시오 . 그러나 오래된 쉘과 최신 쉘을 모두 bash로 보내십시오. 끝없이!
Julie Pelletier

1
@JuliePelletier 나는 당신이 어떤 껍질에서도 불가능하다고 주장하지만 물고기 와 같은 껍질 은 tbodt가 묘사 한대로 정확하게 행동합니다.
jamesdlin

28

openmacOS 의 유틸리티는 표준 입력에서 읽지 않지만 명령 행에서 인수를 가져옵니다.

현재 작업 디렉토리를 열려면

$ open "$( pwd )"

또는

$ open "$PWD"

또는 단순히

$ open .

아래 의견에서 지적했듯이.

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


1
쉘이 (t) csh라면 open $cwd:q대신에 원할 것입니다. 그리고 open (pwd)/ open $PWD있다면fish
Stéphane Chazelas

1
@ StéphaneChazelas Darwin의 기본 쉘은이라고 생각 bash하지만 다른 쉘의 솔루션도 항상 보는 것이 좋습니다.
Kusalananda

과 완전성에 대해서는 rc, es, akanga포탄 : open `pwdopen `{pwd}
스테판 Chazelas가

5
또는 open .현재 작업 디렉토리 또는 상위 디렉토리 open .. 또는 두 개의 디렉토리 등에 구문 을 사용할 수 있습니다 open ../...
fd0

@ StéphaneChazelas : 왜 csh 관련 쉘에서 $cwd:q선호 "$cwd"되는가?
G-남자 '는 분석 재개 모니카'말한다

9

다른 답변은 완전히 맞습니다. 간단한 속기 를 원한다면 @ fd0 제안 된대로 할 수 있습니다.

open .

현재 디렉토리를 엽니 다. 현재 디렉토리는 .상위 디렉토리 ..(2 개의 점) 인 Unix에서 (단일 점)으로 이름이 지정 됩니다.


9
pwd | xargs open

xargs 첫 번째 논증의 논거에 대한 표준 입력을 제시합니다.


2
현재 작업 디렉토리 경로에 공백이나 줄 바꿈 또는 작은 따옴표 또는 큰 따옴표 또는 백 슬래시가 포함되어 있지 않은 경우에만 해당됩니다.
Stéphane Chazelas

pwd | xargs -d '\n' open
belkka

0

파이프 라인을 사용 -f하여 텍스트 편집기에서 이전 명령의 내용을 열 수 있습니다 . 이것은 텍스트 편집기에만 적용됩니다. 다른 앱의 경우 다른 질문에서 제안을 사용해야합니다.

예를 들면 다음과 같습니다.

ls | open -f

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

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

ls | open -a 'Atom' -f

ls출력 내용으로 Atom이 열립니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.