R1-003 Linux上的Shebang符號——#!
Shebang這個符號通常在Unix系統的指令碼中第一行開頭中寫到,它指明瞭執行這個指令碼檔案的解釋程式。
1. 如果指令碼檔案中沒有#!這一行,那麼它執行時會預設用當前Shell去解釋這個指令碼(即:$SHELL環境變數)。
2. 如果#!之後的解釋程式是一個可執行檔案,那麼執行這個指令碼時,它就會把檔名及其引數一起作為引數傳給那個解釋程式去執行。
3. 如果#!指定的解釋程式沒有可執行許可權,則會報錯“bad interpreter: Permission denied”。如果#!指定的解釋程式不是一個可執行檔案,那麼指定的解釋程式會被忽略,轉而交給當前的SHELL去執行這個指令碼。
4. 如果#!指定的解釋程式不存在,那麼會報錯“bad interpreter: No such file or directory”。注意:#!之後的解釋程式,需要寫其絕對路徑(如:#!/bin/bash),它是不會自動到$PATH中尋找直譯器的。
5. 當然,如果你使用”bash test.sh”這樣的命令來執行指令碼,那麼#!這一行將會被忽略掉,直譯器當然是用命令列中顯式指定的bash。
原文連結:
原文連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2134581/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDK 11 確定將引入 Shebang #! 符號JDK符號
- 如何在Mac上使用表情符號Mac符號
- 無符號數相減得到的是無符號還是有符號?符號
- Linux中的特殊符號含義及作用!Linux符號
- 去掉linux文字檔案中的 ^M 符號Linux符號
- 如何在Mac上快速輸入特殊符號?Mac快速輸入特殊符號小技巧Mac符號
- 關於有符號與無符號的位元組符號
- linux_sed替換特殊符號Linux符號
- linux常見特殊符號介紹Linux符號
- Perl 的特殊符號符號
- linux下找出核心符號資訊的4種方法Linux符號
- [C]有符號數和無符號數符號
- _下劃線這個符號電腦怎麼打 _符號電腦上怎麼打出來符號
- aix, linux 解決特殊符號檔名:AILinux符號
- CSS @ 符號CSS符號
- 特殊符號符號
- 符號使用符號
- 頓號在鍵盤上怎麼打 頓號符號在鍵盤上怎麼打不出來符號
- 符號(註釋符+轉義符+接續符)符號
- linux下查詢無效的符號連線(轉)Linux符號
- HTML 中的特殊符號HTML符號
- 連結使用的符號符號
- Html/CSS的符號學HTMLCSS符號
- CSS中的特殊符號CSS符號
- [轉]符號的英文叫法符號
- 各種符號的英文符號
- 使用別的分割符號符號
- shell中的特殊符號符號
- package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義PackageJSON符號
- Linux檔案許可權符號含義Linux符號
- linux 全盤搜尋 動態庫符號Linux符號
- Linux中MAXIMA符號運算軟體的簡介(轉)Linux符號
- 符號連結符號
- Google Map 符號Go符號
- Html 特殊符號HTML符號
- PHP基本符號PHP符號
- Shell 符號(轉)符號
- 識別符號符號