LINUX Shell指令碼中點號和source命令

2021-06-29 12:31:10 字數 765 閱讀 1298

linux中乙個檔案是根據其是否具有執行屬性來判斷他是否可以直接執行的。就像windows下的exe一樣

如果我們要執行某乙個檔案,可以先將其許可權修改為可執行(必須是所有者或者root才能修改)。然後

通過用sh來執行該指令碼或者./指令碼名。

但有時候我們並不想修改檔案許可權,可能我們也沒有那個許可權,所以我們可以使用.點號+檔名來臨時

執行乙個指令碼而無須修改許可權。在linux系統中存在大量的指令碼,其中你會看到大量這個用

source命令(從 c shell 而來)是bash shell的內建命令。點命令,就是個點符號,(從bourne shell而來)是source的另一名稱。同樣的,當前指令碼中配置的變數也將作為指令碼的環境,source(或點)命令通常用於重新執行剛修改的初始化文件,如 .bash_profile 和 .profile 等等。例如,假如在登入後,對.bash_profile 中的 editer 和 term 變數做了修改,則能夠用source命令重新執行 .bash_profile 中的命令而不用登出並重新登入。 source命令的作用就是用來執行乙個指令碼,那麼: source a.sh 同直接執行 ./a.sh 有什麼不同呢,比如您在乙個指令碼裡export $kkk=111 ,假如您用./a.sh執行該指令碼,執行完畢後,您執行 echo $kkk ,發現沒有值,假如您用source來執行 ,然後再echo ,就會發現kkk=111。因為呼叫./a.sh來執行shell是在乙個子shell裡執行的,所以執行後,結果並沒有反應到父shell裡,但是source不同他就是在本shell中執行的,所以能夠看到結果。

LINUX Shell指令碼中點號和source命令

linux shell指令碼中點號和source命令 根據網上資源整理 2011 06 14 keywords shell 指令碼source linux linux 中乙個檔案是根據其是否具有執行屬性來判斷他是否可以直接執行的。就像 windows 下的exe 一樣。如果我們要執行某乙個檔案,可以...

Linux Shell指令碼中點號和source命令

linux shell指令碼中點號和source命令 linux中乙個檔案是根據其是否具有執行屬性來判斷他是否可以直接執行的。就像windows下的exe一樣。如果我們要執行某乙個檔案,可以先將其許可權修改為可執行 必須是所有者或者root才能修改 然後,通過用sh來執行該指令碼或者.指令碼名。但有...

LINUX Shell指令碼中點號和source命令

linux shell指令碼中點號和source命令 根據網上資源整理 2011 06 14 keywords shell指令碼source linux linux中乙個檔案是根據其是否具有執行屬性來判斷他是否可以直接執行的。就像windows下的exe一樣。如果我們要執行某乙個檔案,可以先將其許可...