bash에서 내가 하려는 것은 을 foo
실행할 때 $(foo)
디렉토리를 변경하고 를 사용하여 스크립트를 실행하는 스크립트를 작성하는 것입니다 source
. 내용 foo
:
echo cd bar
echo "&&"
echo source baz
을 실행하면 $(foo)
디렉토리가 "bar"로 변경되지만 실행되지 않습니다 source baz
. 이 작업을 수행할 수 있는 방법이 있나요?
답변1
eval
다음과 같이 출력 해야 합니다 .
eval $(foo)
그렇지 않으면 &&
(또는 다른 유사한 언어 요소)는 따옴표로 묶인 것처럼 처리됩니다 cd
.
$ echo $(foo)
cd bar && source baz
선행을 건너뛰면 4개의 인수로 echo
실행되어 첫 번째 인수를 제외한 모든 인수가 자동으로 삭제됩니다.cd
bar && source baz