我簡單的腳本是這樣的:「。filename」在從/ bin/sh運行時找不到文件,從/ bin/bash運行;爲什麼?
#!/bin/sh
DEF=.file_name_with_a_leading_dot.sh
. ${DEF}
公告頂行的/ bin/sh的。 當我運行這個簡單的腳本時,我得到一個錯誤,找不到該文件。 但是,如果我將第一行更改爲#!/ bin/bash,那麼腳本會在當前目錄中找到該文件。
但是,在我的Ubuntu Linux筆記本電腦上,我看到/ bin/sh是/ bin/bash的符號鏈接。那麼,爲什麼我的腳本行爲不同?
另外,我可以像這樣運行腳本:
/bin/bash ./script.sh
而且它的確定。
那麼,我錯過了什麼?
你可以看看這裏:http://stackoverflow.com/questions/5725296/difference-between-sh-and-bash。基本上,'bash'和'sh'不是一回事 – ThanksForAllTheFish
當調用'/ bin/sh'時,Bash以兼容模式啓動。 – hek2mgl
但是爲什麼這意味着它找不到文件?我可以重現這一點。 – tripleee