bash에서 실행되도록 zshrc의 소스 파일을 어떻게 얻나요?

bash에서 실행되도록 zshrc의 소스 파일을 어떻게 얻나요?

많은 기능이 포함된 bash 스크립트가 있습니다. 이 스크립트를 bash를 사용하여 실행하고 싶습니다. 스크립트 상단에는 다음이 포함됩니다.

echo "BASH_VERSION""$BASH_VERSION"
echo "ZSH_VERSION""$ZSH_VERSION"

현재 ZSH에서 실행되는 스크립트를 볼 수 있습니다.

Bash를 사용하여 스크립트를 어떻게 실행합니까? 이미 #!/usr/bin/env bash파일의 맨 위에 있지만 여전히 작동하지 않습니다. 나는 그것을 사용하고 있습니다 source.

답변1

source다음을 사용하여 스크립트를 실행하면현재의스크립트의 -line이 말하는 내용 에 관계없이 쉘 환경입니다 #!(이 행은 단지 주석일 뿐이며 이 경우 무시됩니다). 그것이 바로 그 일입니다 source.

명령줄에 스크립트 경로와 이름(예: )을 제공하여 스크립트를 실행하는 경우 파일이 실행 가능하다고 가정하면 스크립트 시작 부분의 -line ./myscript에 언급된 인터프리터에 의해 실행됩니다 #!. 파일의 함수 정의, 변수 등은 스크립트가 실행되는 동안 활성화되지만 스크립트가 종료되면 나머지 스크립트 환경과 함께 삭제됩니다.

현재 쉘 환경 내에서 액세스하려는 함수의 정의가 스크립트 파일에 포함되어 있고 zsh파일의 함수가 쉘 호환 방식으로 작성된 경우 zsh스크립트 파일을 확보하는 것이 적절합니다 .

함수가 bash셸에 대해 명시적으로 작성된 경우( bash특정 변수 등을 사용하여) 애플리케이션의 나머지 부분을 별도의 bash스크립트로 작성하고 함수를 사용하여 해당 스크립트 내에서 파일을 가져올 수 있습니다. 또는 셸의 기능을 재정의한 다음 셸에서 재정의된 함수 정의를 가져올 수도 zsh있습니다 zsh.

관련 정보