使用source或者“.”號執行shell腳本的意義

如果使用source或者“.”號執行shell腳本(例如叫son.sh),腳本中的所有語句會被作爲當前父shell進程的一部分運行。如果son.sh的執行語句source son.sh 或 . son.sh是某個父shell腳本(father.sh)中的一句,那麼son.sh腳本中的變量的值或函數返回值等都會被傳遞到父shell腳本father.sh中使用。

因此,使用source或者“.”號的方法執行shell腳本與使用sh命令執行的最大區別在於前者是在當前shell中加載並執行腳本中的每一行命令,而不是產生一個子shell來執行這些命令。

典型的應用是如果用戶修改了家目錄下的.bashrc或者.bash_profile等環境信息配置文件,需要按如下方法執行這些文件使改動生效:

$ source .bashrc
$ . .bash_profile


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章