十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細講解有關R1-003 Linux上的Shebang符號是怎么樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
為城口等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及城口網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、網(wǎng)站設計、外貿(mào)網(wǎng)站建設、城口網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
Shebang這個符號通常在Unix系統(tǒng)的腳本中第一行開頭中寫到,它指明了執(zhí)行這個腳本文件的解釋程序。
1. 如果腳本文件中沒有#!這一行,那么它執(zhí)行時會默認用當前Shell去解釋這個腳本(即:$SHELL環(huán)境變量)。
2. 如果#!之后的解釋程序是一個可執(zhí)行文件,那么執(zhí)行這個腳本時,它就會把文件名及其參數(shù)一起作為參數(shù)傳給那個解釋程序去執(zhí)行。
3. 如果#!指定的解釋程序沒有可執(zhí)行權限,則會報錯“bad interpreter: Permission denied”。如果#!指定的解釋程序不是一個可執(zhí)行文件,那么指定的解釋程序會被忽略,轉(zhuǎn)而交給當前的SHELL去執(zhí)行這個腳本。
4. 如果#!指定的解釋程序不存在,那么會報錯“bad interpreter: No such file or directory”。注意:#!之后的解釋程序,需要寫其絕對路徑(如:#!/bin/bash),它是不會自動到$PATH中尋找解釋器的。
5. 當然,如果你使用”bash test.sh”這樣的命令來執(zhí)行腳本,那么#!這一行將會被忽略掉,解釋器當然是用命令行中顯式指定的bash。
關于R1-003 Linux上的Shebang符號是怎么樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。