다음과 같은 작업을 수행하고 싶습니다.
which someapplciation | cd outputfrompreviouscommand
이 명령은 디렉터리를 제공하며 프로그래밍 언어(예: , 등)를 사용하지 않고 파이프 명령 만 사용 which
하여 해당 출력을 현재 작업 디렉터리로 출력할 수 있기를 원합니다 .awk
bash
perl
추가 예:
which vi
출력 제공
/some/dir
pwd
내 작업 디렉토리를 내가 사용할 수 있는 디렉토리 로 옮기고 싶습니다 /some/dir
. .
답변1
실행하는 두 번째 명령이 표준 입력에서 읽히지 않으면 파이프를 사용할 수 없습니다. 그러나 다음과 같은 작업을 수행할 수 있습니다.
cd $(which someapplication)
또는 cd
실행 파일 이름 대신 디렉터리 이름이 필요하기 때문에:
cd $(dirname $(which someapplication))
쉘 $(...)
연산자는 괄호로 묶인 명령을 실행하고 해당 출력을 명령줄로 바꿉니다.