Shell變數(3)- bash環境變數
阿新 • • 發佈:2021-08-03
環境變數與使用者自定義變數的區別
- 環境變數是全域性變數,使用者自定義變數是區域性變數。
- 使用者自定義變數只在當前的 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 使用者為"#",普通使用者為"$"