저는 칼리리눅스 64비트를 사용하고 있습니다.
시작하려면 2개의 매개변수가 필요한 Python 스크립트를 만들었습니다. 매번 똑같은 경로를 입력하고 싶지 않고, 터미널에서 사용된 명령어 기록을 검색하고 싶지도 않습니다. 그래서 저는 인수를 사용하여 Python 스크립트를 호출하는 간단한 스크립트를 만들기로 결정했습니다.
#! /bin bash
python CreateDB.py ./WtfPath ./NoWtfPath/NewSystem/
이것은 터미널에서 사용하는 것과 똑같은 명령입니다. 그러나 스크립트 파일을 실행하려고 하면 오류 메시지가 나타납니다.
bash: ./wtf.sh: /bin: bad interpreter: Permission denied
wtf.sh에는 실행 권한이 있습니다.
뭐가 문제 야?
답변1
여기에는 슬래시 대신 공백이 있습니다.
#! /bin bash
해야 한다:
#! /bin/bash
아니면 단순히
#!/bin/bash
(첫 번째 공백은 선택 사항입니다.) shebang( #!
) 뒤에는 경로가 와야 합니다.실행 파일로, 이는 다음에 올 수 있습니다.논쟁,예를 들어,
#!/usr/bin/env sh
이 경우 /usr/bin/env
실행 파일을 man env
참조하세요.
단지 /bin
디렉토리를 참조합니다.
답변2
스크립트가 있는 마운트 지점에 "noexec" 속성이 있는 경우 원하는 명령을 모두 실행할 수 있지만 여전히 작동하지 않지만 스크립트를 인수로 사용하여 인터프리터를 호출한다는 점은 주목할 가치가 있습니다. 반대의 경우 noexec 마운트에서 다른 스크립트를 실행해 보십시오.