[英]Writing a Bash script without the shebang line
我在CentOS下寫了一個bash腳本,執行得很好。 在另一台電腦上,這是錯誤的。 我剛開始忘記了shebang,但為什么我的電腦好呢? 我認為這是一個非常初學的問題,但我試了一下。 謝謝。
更新:彈出另一個問題。 使用./filename.sh和sh filename.sh執行有什么區別?
在腳本開頭沒有shebang將在調用腳本時在當前運行的任何shell中執行它。 如果您確定該腳本將從bash啟動,而不是從任何其他shell(ksh,csh等)啟動,則不需要shebang,因為將啟動相同的解釋器。
如果你的腳本execve
失敗,那么將使用/bin/sh
。 在一個系統/bin/sh
可以是POSIX sh
,在另一個系統上它可以是bash
的別名; 你的腳本可能依賴於bash
功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.