![-bash::/bin/bash: 잘못된 해석기: 작업이 허용되지 않습니다.](https://linux55.com/image/196229/-bash%3A%3A%2Fbin%2Fbash%3A%20%EC%9E%98%EB%AA%BB%EB%90%9C%20%ED%95%B4%EC%84%9D%EA%B8%B0%3A%20%EC%9E%91%EC%97%85%EC%9D%B4%20%ED%97%88%EC%9A%A9%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
최근에 acceptopenjdk-13을 acceptopenjdk-16으로 교체했습니다. 이름별로 도구를 사용하는 스크립트 파일이 있어서 13에서 16으로 변경했습니다. 새로운 콘텐츠:
#!/bin/bash
if [ -z ${JAVA_OPTS+x} ]
then
# Set some defaults
JAVA_OPTS=""
fi
/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/bin/java $JAVA_OPTS -jar $CROMWELL_HOME/womtool.jar "$@"
me $ which bash
/bin/bash
me $ ll /usr/local/cromwell
total 16
drwxr-xr-x 6 root wheel 192B Sep 27 12:43 ./
drwxr-xr-x 23 root wheel 736B Nov 10 2020 ../
-rwxr-xr-x@ 1 root wheel 210B Sep 27 12:42 cromwell*
lrwxr-xr-x 1 root wheel 39B Jul 14 15:14 cromwell.jar
-rwxr-xr-x@ 1 root wheel 208B Sep 27 12:41 womtool*
lrwxr-xr-x 1 root wheel 38B Jul 14 15:14 womtool.jar
m082166@me $ $CROMWELL_HOME/womtool validate MyWDL.wdl
-bash: /usr/local/cromwell/womtool: /bin/bash: bad interpreter: Operation not permitted
me $ /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home/bin/java $JAVA_OPTS -jar $CROMWELL_HOME/womtool.jar validate MyWDL.wdl
Success!
스크립트 내용이 완벽하게 실행되는데 왜 bash는 스크립트 실행을 거부합니까? 올바른 도구를 가리키도록 스크립트 파일을 업데이트한 후에 실제로 문제가 발생했습니다.
답변1
Elfshift 덕분에 이것은답변. 분명히 MacOS는 이러한 파일을 "격리"에 넣기로 결정하여 실행을 허용하지 않았습니다.
sudo xattr -d com.apple.quarantine /usr/local/cromwell/*
문제를 해결했다
답변2
파일의 확장된 속성을 봅니다(내 파일 이름은 입니다 script.sh
).
xattr -l script.sh
속성 목록에 표시 되면 com.apple.quarantine
다음 명령을 사용하여 제거하십시오.
xattr -d com.apple.quarantine my-file.sh
파일이 여러 개인 경우 마지막 적절한 매개변수를 자유롭게 업데이트하세요.