1. 程式人生 > 其它 >Shell變數(3)- bash環境變數

Shell變數(3)- bash環境變數

環境變數與使用者自定義變數的區別

  • 環境變數是全域性變數,使用者自定義變數是區域性變數。
  • 使用者自定義變數只在當前的 shell 中生效,環境變數在當前 shell 和這個 shell 的所有子 shell 中生效。
  • 使用者可以自定義環境變數,但對系統生效的環境變數名和變數作用是固定的。

使用者自定義環境變數

呼叫使用【$變數名】

  • export 變數名=變數值
  • 或者
  • 變數名=變數值:先宣告
  • export 變數名:再export

小結:export的變數在當前 shell 和這個 shell 的所有子 shell 中生效,自定義的變數只在當前shell中生效

檢視環境變數

  • set 檢視所有變數
  • env 檢視環境變數

刪除環境變數

  • unset 環境名(即變數名)

常見的系統環境變數

  • HOSTNAME:主機名
  • SHELL:當前的 shell
  • TERM:終端環境
  • HISTSIZE:歷史命令條數
  • SSH_CLIENT:當前操作環境是用 ssh 連線的,這裡記錄客戶端 ip
  • SSH_TTY:ssh 連線的終端是 pts/0
  • USER:當前登入的使用者
  • PATH:系統搜尋命令的路徑

要想直接通過指令碼名執行自己的指令碼

即將指令碼路徑新增到PATH中,或者將指令碼放到PATH中任意目錄下

  • 將指令碼拷貝至 PATH 中的任意目錄下(不建議這樣做),例如: $ cp hello.sh /bin/
  • 將指令碼所在目錄新增到 PATH 變數中,例如: $ PATH="$PATH":/root/sh
  • 系統重啟後失效

PS1:命令提示符設定

  • \d:顯示日期,格式為"星期 月 日"
  • \H:顯示完整的主機名
  • \t:顯示 24 小時制時間,格式為"HH:MM:SS"
  • \A:顯示 24 小時制時間,格式為"HH:MM"
  • \u:顯示當前使用者名稱
  • \w:顯示當前所在目錄的完整名稱
  • \W:顯示當前所在目錄的最後一個目錄
  • \$:提示符。root 使用者為"#",普通使用者為"$"