Shebang
這是一條有效的shebang線嗎?
我有以下關於 UNIX 的問題:
當頂線出現時還需要什麼
> > >
> #!\bin\awk -f > >
> >to make it run as a command?
我在想無論腳本的名稱是什麼,都需要使用 chmod 獲得許可才能使其執行。
第一行帶有“#!” 將是要執行的程序的完整路徑名。
Linux 中的路徑名在目錄之間使用正斜杠。
IE:
#!/bin/awk -f
或者
#!/bin/bash
或者
#!/usr/bin/perl
第一個腳本將執行腳本程序 using
awk
,第二個 usingbash
,第三個 usingperl
。您還必須使用以下命令使文件可執行:
$ chmod +x myscript.sh
#!\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 行以使其有意義:用斜杠替換反斜杠。並使文件可執行(這無疑是預期的答案,但僅僅這樣做並不是正確的答案)。