디렉토리를 출력하는 명령이 있고 해당 디렉토리로 CD를 넣고 싶습니다.

디렉토리를 출력하는 명령이 있고 해당 디렉토리로 CD를 넣고 싶습니다.

할 수 있으면 좋겠지 cd | [my command]cd파이프라인을 통해 작동하지 않는 것 같습니다.

cdbash 스크립트처럼 출력을 작성하지 않고 간단히 입력하고 싶고 [my command]이를 수행할 수 있는 쉬운 방법이 있기를 바랍니다.

답변1

POSIX 셸에서:

cd -P -- "$(mycommand)"
  • $(cmd)명령 대체. cmd후행 개행 문자를 뺀 표준 출력으로 확장됩니다 .
  • "$(cmd)". 따옴표가 없으면 확장은 우리가 원하지 않는 분할+글로브로 인해 어려움을 겪게 됩니다.
  • --옵션과 매개변수를 분리하세요. 알고 있는 출력이 nor mycommand로 시작하지 않는 경우 이를 생략할 수 있습니다 . 출력이 없으면 옵션으로 처리됩니다-+thatcd
  • cd현재 디렉터리를 변경하는 명령입니다. 그러나 그렇지 않은 경우 -P인수로 제공된 디렉터리(해당 디렉터리에 ..구성 요소가 포함된 경우)로 변경되지 않을 수 있습니다.

또는 이라고 쓸 수도 있습니다 . 이것은 매우 엉성하지만 출력에 공백, 탭, 줄 바꿈, , , 문자 또는 구성 요소 가 포함되지 않고 또는 로 시작하지 않는 cd $(mycommand)한 작동합니다 .mycommand*?[..-+

이제 나는 당신이 묻는 것을 들었습니다.이 명령을 사용하여 개행으로 끝나는 디렉토리를 어떻게 변경할 수 있습니까?

답변2

간단한 경우:

cd `my command`

my command백틱으로 묶여 있습니다 .

명령 출력에 "이상한" 문자가 포함된 경우 이 방법은 작동하지 않습니다. 바라보다Stefan Chazeras의 답변자세한 내용은.

관련 정보