Linux的Bash的環境變數 命令執行順序1 以相對/絕對路徑執行命令2 由alias找到該命令執行3 由bash內建的命令執行4 通過$PATH變數順序搜尋到第一個指令來執行 login shell與non-login shelllogin shell 完整的登入流程。在tty1-tty6輸入使用者名稱和密碼/etc/profile 系統整體設定檔~/.bash_profile或~/.bash_login或~/.profile 使用者個人設定檔。non-login shell 不需要重複登入的流程。一種是進入X window後再啟動終端一種是在bash環境再啟動子進程bash~/.bashrc使用者個人設定檔 環境變數相關的內建命令source(或直接使用小數點".") 讀取並執行環境設定檔,修改設定檔而不需要登出再登入。echo 輸出環境變數export 傳遞環境變數到其子進程set 顯示環境變數或設定環境變數unset 取消變數 環境變數相關命令env 查看現有的環境變數locale 查看當前的語系資訊stty 顯示或設定文字終端設定,主要是按鍵的代表意義 環境變數設定規則1 變數與變數內容以等號串連。等號兩邊不能直接有空格。變數開頭只能是字母。Linux代碼 $ mypath=/home/mydata //設定環境變數 2 變數內容中的雙引號與單引號的區別。Linux代碼 $ mypath="lang is $LANG" //保留特殊字元的意義 $ mypath='lang is $LANG' //所有字元都認為是一般字元 3 可以使用轉移字元“\”,將特殊字元變為一般字元。4 想到引用一個命令的結果,可以用反單引號`命令`或$(命令)Linux代碼 $ echo `uname -r` $ echo $(uname -r) 5 若給一個變數一個增量時,可以Linux代碼 $ mypath="$mypath":/home/bin 6 若將該變數傳遞到其子進程中,可以Linux代碼 $ export mypath 變數內容的刪除和替換${變數#關鍵詞} 從頭開始檢查關鍵詞,將符合的最短資料刪除${變數##關鍵詞} 從頭開始檢查關鍵詞,將符合的最長資料刪除${變數%關鍵詞} 從尾開始檢查關鍵詞,將符合的最短資料刪除${變數%關鍵詞} 從尾開始檢查關鍵詞,將符合的最長資料刪除${變數/舊字串/新字串} 若符合舊字串,則第一箇舊字串被替換${變數//舊字串/新字串} 若符合舊字串,則全部舊字串被替換 變數內容的設定和替換var和str為變數,expr為一般字串變數設定方式 str沒有設定 str為空白字串 str已設定為非空var=${str-expr} var=expr var= var=$strvar=${str:-expr} var=expr var=expr var=$strvar=${str+expr} var= var=expr var=exprvar=${str:+expr} var= var= var=exprvar=${str=expr} str=exprvar=exprstr不變var=str不變var=$strvar=${str:=expr} str=exprvar=exprstr=exprvar=exprstr不變var=$strvar=${str?expr} expr輸出到stderr var= var=$strvar=${str:?expr} expr輸出到stderr expr輸出到stderr var=$str