簡體   English   中英

Linux shell奇怪的情況

[英]Linux shell strange situation

有誰知道為什么以下腳本有效?

#a-random-junk-string
echo HI

shell執行echo命令,並輸出HI。 我以為自從沒有“!” 在“#”之后,shell會出錯。

如果沒有#! 指定一個特定的解釋器, 內核不會攔截並使用指定的程序啟動它。

但是,當前shell仍然可以將其解釋為命令文件,這是您所看到的。

當要求shell運行一個打開可執行位的文件時,它將檢查該文件並確定它是否以shebang#開頭! 如果它確實那么它將執行該命令,該命令將從文件的其余部分獲取它的程序文本。

如果文件沒有以shebang開頭,那么shell將嘗試自己執行它。 這就是你正在發生的事情,shell將第一行解釋為注釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM