
UNIX에 관해 다음과 같은 질문이 있습니다.
최고 라인이 갈 때 또 무엇이 필요합니까?
#!\bin\awk -f
to make it run as a command?
스크립트 이름이 무엇이든 간에 스크립트를 실행하려면 chmod를 사용하여 권한을 부여받아야 한다고 생각합니다.
답변1
"#!"이 포함된 첫 번째 줄 실행될 프로그램의 전체 경로 이름입니다.
Linux의 경로 이름에는 디렉토리 사이에 슬래시가 있습니다.
즉:
#!/bin/awk -f
또는
#!/bin/bash
또는
#!/usr/bin/perl
첫 번째 스크립트는 를 사용하여 스크립트 프로그램을 실행하고 awk
, 두 번째는 을 사용하고 bash
, 세 번째는 를 사용하여 실행됩니다 perl
.
또한 다음을 사용하여 파일을 실행 가능하게 만들어야 합니다.
$ chmod +x myscript.sh
답변2
#!\bin\awk -f
유효한 shebang 라인이지만 유용한 라인은 아닙니다. 파일은 \bin\awk
현재 디렉터리에서 호출되는 프로그램에 의해 해석되어야 함을 선언합니다 . 따라서 질문에 문자 그대로 답하기 위해 해당 파일을 명령으로 실행하는 두 가지 방법이 있습니다.
\bin\awk
아마도 awk의 일부 버전을 복사하거나 링크하여 현재 디렉터리에 라는 파일을 만듭니다 . 또한 스크립트를 실행 가능하게 만들어야 합니다.ln -s /bin/awk '\bin\awk' chmod +x /path/to/script /path/to/script
명시적으로 awk를 호출합니다.
awk -f /path/to/script
파일 수정이 허용되는 경우 shebang 줄을 이해하기 쉽게 편집해야 합니다. 즉, 백슬래시를 슬래시로 바꾸십시오. 그리고 파일을 실행 가능하게 만듭니다(의심할 여지 없이 의도된 대답이지만 그렇게 하는 것만으로는 정답이 아닙니다).