![디렉토리를 출력하는 명령이 있고 해당 디렉토리로 CD를 넣고 싶습니다.](https://linux55.com/image/111372/%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A5%BC%20%EC%B6%9C%EB%A0%A5%ED%95%98%EB%8A%94%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20%EC%9E%88%EA%B3%A0%20%ED%95%B4%EB%8B%B9%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EB%A1%9C%20CD%EB%A5%BC%20%EB%84%A3%EA%B3%A0%20%EC%8B%B6%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
할 수 있으면 좋겠지 cd | [my command]
만 cd
파이프라인을 통해 작동하지 않는 것 같습니다.
cd
bash 스크립트처럼 출력을 작성하지 않고 간단히 입력하고 싶고 [my command]
이를 수행할 수 있는 쉬운 방법이 있기를 바랍니다.
답변1
POSIX 셸에서:
cd -P -- "$(mycommand)"
$(cmd)
예명령 대체.cmd
후행 개행 문자를 뺀 표준 출력으로 확장됩니다 ."$(cmd)"
. 따옴표가 없으면 확장은 우리가 원하지 않는 분할+글로브로 인해 어려움을 겪게 됩니다.--
옵션과 매개변수를 분리하세요. 알고 있는 출력이 normycommand
로 시작하지 않는 경우 이를 생략할 수 있습니다 . 출력이 없으면 옵션으로 처리됩니다-
+
that
cd
cd
현재 디렉터리를 변경하는 명령입니다. 그러나 그렇지 않은 경우-P
인수로 제공된 디렉터리(해당 디렉터리에..
구성 요소가 포함된 경우)로 변경되지 않을 수 있습니다.
또는 이라고 쓸 수도 있습니다 . 이것은 매우 엉성하지만 출력에 공백, 탭, 줄 바꿈, , , 문자 또는 구성 요소 가 포함되지 않고 또는 로 시작하지 않는 cd $(mycommand)
한 작동합니다 .mycommand
*
?
[
..
-
+
이제 나는 당신이 묻는 것을 들었습니다.이 명령을 사용하여 개행으로 끝나는 디렉토리를 어떻게 변경할 수 있습니까?
답변2
간단한 경우:
cd `my command`
my command
백틱으로 묶여 있습니다 .
명령 출력에 "이상한" 문자가 포함된 경우 이 방법은 작동하지 않습니다. 바라보다Stefan Chazeras의 답변자세한 내용은.