變數必要性:linux具有多人多工的環境特點,每個人登入系統都能取得一個bash shell變數定義:以一組文字或符號來替換一些設定或一串保留的資料變數分類:環境變數(需要讀入到系統中,也稱為全域性變數,所以名稱均以大寫字元來表示,如PATH、HOME)、自定義變數(也稱為區域性變數)linux 一切皆檔案,命令也是檔案,環境變數也是檔案,透過修改檔案實現對環境的配置環境變數與環境配置env 列出目前shell環境下的所有環境變數及內容PATH:執行檔案的查詢路徑,包括系統環境與使用者環境兩部分,以Ubuntu 系統為例echo $PATH # 列印當前環境變數登陸系統時shell讀取的順序應該是:/etc/profile ->/etc/enviroment -->$HOME/.profile-->$HOME/.env/etc/profile檔案是全域性的環境變數配置檔案,它適用於所有的shell在我們登陸Linux系統時,首先啟動/etc/profile檔案然後再啟動使用者目錄下的~/.bash_profile、~/.bash_login或~/.profile檔案中的其中一個,執行的順序和上面的排序一樣如果~/.bash_profile檔案存在的話,一般還會執行~/.bashrc檔案/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是"父子"關係如果同一個變數在使用者環境(/etc/profile)和系統環境(/etc/environment) 有不同的值那應該是以使用者環境為準linux命令搜尋機制及特點bash本身內建了很多命令,稱為內建命令(可透過type 命令查詢是否為內部命令)預設首先在PATH中進行內容搜尋如果PATH中沒有,則會報錯“command not found”,解決方法如下使用命令前增加命令的絕對路徑將該命令(命令也是檔案)建立軟連結至/usr/bin目錄(因為該目錄是用來存放可執行檔案的目錄,PATH中本身包含該路徑)ln -s ~/python /usr/bin py # 將home目錄中的python新增快捷方式至/usr/bin目錄,同時修改快捷名稱為pyln -s /usr/bin/gdc_manifest.txt /home/manager/Desktop/text將該命令的路徑新增到環境變數中,優先推薦修改home/.profile檔案如果環境變數中有該命令的路徑,就可以執行該命令,但是強調,環境變數中的路徑存在先後順序,體現在越靠前,越先被搜尋,所以導致一個問題,如果同一個類似的命令存在不同的路徑中,會首先執行排在環境變數中之前位置的,後續的則不再執行,所以導致使用相似命令的時候一定要注意環境變數中的順序,解決辦法包括:直接修改順序;或者使用命令時加上命令所在的絕對路徑配置Ubuntu的環境變數修改profile檔案,將路徑新增到環境變數中vi ~/.profileexport PATH=/舊路徑:/新填加路徑/:$PATH(相當於在export PATH部分添加了 :/**/ 內容)# 修改新增source ~/.profile # 重新整理profile檔案echo $PATH # 檢查確認環境變數已新增
~~~~洗洗睡覺!!!
變數必要性:linux具有多人多工的環境特點,每個人登入系統都能取得一個bash shell變數定義:以一組文字或符號來替換一些設定或一串保留的資料變數分類:環境變數(需要讀入到系統中,也稱為全域性變數,所以名稱均以大寫字元來表示,如PATH、HOME)、自定義變數(也稱為區域性變數)linux 一切皆檔案,命令也是檔案,環境變數也是檔案,透過修改檔案實現對環境的配置環境變數與環境配置env 列出目前shell環境下的所有環境變數及內容PATH:執行檔案的查詢路徑,包括系統環境與使用者環境兩部分,以Ubuntu 系統為例echo $PATH # 列印當前環境變數登陸系統時shell讀取的順序應該是:/etc/profile ->/etc/enviroment -->$HOME/.profile-->$HOME/.env/etc/profile檔案是全域性的環境變數配置檔案,它適用於所有的shell在我們登陸Linux系統時,首先啟動/etc/profile檔案然後再啟動使用者目錄下的~/.bash_profile、~/.bash_login或~/.profile檔案中的其中一個,執行的順序和上面的排序一樣如果~/.bash_profile檔案存在的話,一般還會執行~/.bashrc檔案/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承 /etc/profile中的變數,他們是"父子"關係如果同一個變數在使用者環境(/etc/profile)和系統環境(/etc/environment) 有不同的值那應該是以使用者環境為準linux命令搜尋機制及特點bash本身內建了很多命令,稱為內建命令(可透過type 命令查詢是否為內部命令)預設首先在PATH中進行內容搜尋如果PATH中沒有,則會報錯“command not found”,解決方法如下使用命令前增加命令的絕對路徑將該命令(命令也是檔案)建立軟連結至/usr/bin目錄(因為該目錄是用來存放可執行檔案的目錄,PATH中本身包含該路徑)ln -s ~/python /usr/bin py # 將home目錄中的python新增快捷方式至/usr/bin目錄,同時修改快捷名稱為pyln -s /usr/bin/gdc_manifest.txt /home/manager/Desktop/text將該命令的路徑新增到環境變數中,優先推薦修改home/.profile檔案如果環境變數中有該命令的路徑,就可以執行該命令,但是強調,環境變數中的路徑存在先後順序,體現在越靠前,越先被搜尋,所以導致一個問題,如果同一個類似的命令存在不同的路徑中,會首先執行排在環境變數中之前位置的,後續的則不再執行,所以導致使用相似命令的時候一定要注意環境變數中的順序,解決辦法包括:直接修改順序;或者使用命令時加上命令所在的絕對路徑配置Ubuntu的環境變數修改profile檔案,將路徑新增到環境變數中vi ~/.profileexport PATH=/舊路徑:/新填加路徑/:$PATH(相當於在export PATH部分添加了 :/**/ 內容)# 修改新增source ~/.profile # 重新整理profile檔案echo $PATH # 檢查確認環境變數已新增
~~~~洗洗睡覺!!!