zsh: 중복: zsh 스크립트를 실행하는 동안 명령을 찾을 수 없습니다.

zsh: 중복: zsh 스크립트를 실행하는 동안 명령을 찾을 수 없습니다.

test.sh방금 이라는 작은 zsh 스크립트를 작성하고 실행 가능하게 만들었지만 실행 후 다음 오류가 발생합니다 sh test.sh.

중복: 명령을 찾을 수 없습니다.

스크립트는 다음과 같습니다.

#!/usr/bin/zsh

repeat 5 java test 0 | grep -E '\[DONE\] | \[FAILED\]'

터미널에서 실행 하면 repeat 5 java test 0 | grep -E '\[DONE\] | \[FAILED\]'정상적으로 작동합니다.

추가 정보:

언급된 솔루션을 시도했습니다.여기그러나 그것은 모두 헛된 것입니다.

which zsh반품/usr/bin/zsh

답변1

로 스크립트를 실행하면 가 아닌 sh test.sh로 스크립트가 실행됩니다 . (사용 중인 ) 다른 인터프리터를 명시적으로 호출하면 shebang 줄( )이 무시됩니다.shzsh#!/usr/bin/zshsh

따라서 스크립트를 실행 가능하게 만들고 run을 사용 /path/to/test.sh하거나 사용 zsh하고 실행하십시오 zsh test.sh.

관련 정보