對於linux上需要執行 的shell腳本,通常第一行的內容是
#!/bin/bash
當然有很多時候不規范的寫法可以忽略掉這一句,執行起來好像也是ok,結果沒什么不一樣 。。
這只是因為在我們常用 的linux系統上默認都是執行/bin/bash來執行我們的shell腳本,但是如果有些用戶使用的是csh,那么缺少第一行的“#!/bin/bash的shell腳本執行結果就可能存在語法不兼容的問題,導致結果異常或者根本不能執行。
Shell腳本和我們常用的C語言或者C++語言編寫編譯出來的bin執行當不一樣,shell是一種解釋性語言,他需要專門的解析器來解析然后執行,不同的腳本語言需要匹配對應的解析器才能解析執行,比如python也是一中解釋性編程語言,需要對應的ptthon解釋器來解析執行。
我們linux上的shell 是bash shell,所以我們在編寫一個腳本的時候需要在第一行添加”#!/bin/bash“. 這句話的意思是告訴執行器需要調用/bin/bash來執行我。
這也是在shell中唯一以#號開頭卻不代表是注釋的意思,其他任何地方以#號開頭的語句都會被認為是注釋語句而忽略執行,所以這句話只能寫在 shell的開頭才有效。
#!/bin/bash #this is a test shell pwd #this is a comment who #show date date