next up previous contents
Next: 自訂變數導出 export Up: Shell 變數 Previous: 環境變數 env   Contents

環境變數使用範例

  1. ?:『上個執行的指令所回傳的值』,成功執行該指令會回傳一個 0 值,如果執行過程發生錯誤,就會回傳『錯誤代碼』。 例如:ls 列出存在的檔案 /etc/issue,成功列出,echo $? 印出回傳值是 0;但 ls 列出不存在的檔案 /etc/dywang,回傳值是 2。
    [dywang@dyw219 ~]$ ls /etc/issue
    /etc/issue
    [dywang@dyw219 ~]$ echo $?
    0
    [dywang@dyw219 ~]$ ls /etc/dywang
    ls: cannot access /etc/dywang: No such file or directory
    [dywang@dyw219 ~]$ echo $?
    2
    
  2. 變數 RANDOM:echo $RANDOM 系統就會主動的隨機取出一個介於 0~32767 的數值。例如輸出一個 0 到 9 的值。
    [dywang@dyw219 ~]$ echo $((RANDOM*10/32767))
    3
    [dywang@dyw219 ~]$ echo $((RANDOM*10/32767))
    9
    [dywang@dyw219 ~]$ echo $((RANDOM*10/32767))
    2
    
  3. PS1:提示字元的設定
    1. \d :代表日期,格式為 Weekday Month Date,例如 "Mon Aug 1"
    2. \H :完整的主機名稱。例如 dywOffice.deyu.wang。
    3. \h :僅取主機名稱的第一個名字。上例為 dywOffice,.deyu.wang 被省略。
    4. \t :顯示時間,為 24 小時格式,如: HH:MM:SS
    5. \T :顯示時間,12 小時的時間格式。
    6. \A :顯示時間,24 小時格式, HH:MM
    7. \u :目前使用者的帳號名稱;
    8. \v :BASH 的版本資訊;
    9. \w :完整的工作目錄名稱。家目錄會以 ~ 取代;
    10. \W :利用指令 basename 取得工作目錄名稱,所以僅會列出最後一個目錄名。
    11. \# :下達的第幾個指令。
    12. \$ :提示字元,如果是 root 時,提示字元為 # ,否則就是 $。
  4. PS1 修改範例
    [dywang@dyw219 ~]$ PS1='[\u@\h \w \A #\#]\$ '
    [dywang@dyw219 ~ 18:15 #16]$ echo $PS1
    [\u@\h \w \A #\#]\$
    [dywang@dyw219 ~ 18:15 #17]$ ls /etc/issue
    /etc/issue
    [dywang@dyw219 ~ 18:15 #18]$ source ~/.bashrc
    



De-Yu Wang 2019-06-27