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 줄( )이 무시됩니다.sh
zsh
#!/usr/bin/zsh
sh
따라서 스크립트를 실행 가능하게 만들고 run을 사용 /path/to/test.sh
하거나 사용 zsh
하고 실행하십시오 zsh test.sh
.