source命令的巧用

首先,通常用於重新執行剛修改的初始化文件,使之立即生效,而不必註銷並重新登錄。例如,當我們修改了/etc/profile文件,並想讓它立刻生效,而不用重新登錄,就可以使用source命令,如source /etc/profile。
其次,source filepath或者. filepath,sh filepath或者./filepath區別:

  1. sh filepath會重新建立一個子shell,在子shell中執行腳本里面的語句,該子shell繼承父shell的環境變量,但子shell是新建的,其改變的變量不會被帶回父shell,除非使用export。
  2. source filename其實只是簡單地讀取腳本里面的語句依次在當前shell裏面執行,沒有建立新的子shell。那麼腳本里面所有新建、改變變量的語句都會保存在當前shell裏面。
    因爲不會建立新的子shell,變量的值都可以直接取到,我們看一個例子:
    這裏寫圖片描述
    我們可以把下面的這些配置當成shell腳本中的賦值語句,然後使用source獲取變量的值,因爲這個配置不符合任何ini之類格式,所以不好用程序獲取:
    這裏寫圖片描述
    這裏用到了&&,它的作用是左邊的命令執行成功,才執行右邊的命令;||就相反,左邊的命令執行失敗,才執行右邊的命令。
    2>/dev/null可以參考一下(http://blog.csdn.net/peng314899581/article/details/78364679)
發佈了68 篇原創文章 · 獲贊 74 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章