UNIX에 대해 다음과 같은 질문이 있습니다.
윗줄이 사라지면 또 무엇이 필요합니까?
#!\bin\awk -f
to make it run as a command?
스크립트가 무엇이든 chmod를 사용하여 실행하려면 권한을 부여받아야 한다고 생각합니다.
답변1
"#!"이 있는 첫 번째 줄은 실행될 프로그램의 전체 경로 이름이 됩니다.
Linux의 경로 이름에는 디렉토리 사이에 슬래시가 있습니다.
즉:
#!/bin/awk -f
또는
#!/bin/bash
또는
#!/usr/bin/perl
첫 번째 스크립트는 runscript 를 사용하고 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 줄을 이해하기 쉽게 편집해야 합니다. 즉, 백슬래시를 슬래시로 바꾸십시오. 그리고 파일을 실행 가능하게 만듭니다(이것은 확실히 예상되는 대답이지만 이렇게 하는 것만으로는 정답이 아닙니다).