您應該了解的 6 個有用的 Bash Shell 變量
Shell 變量對於任何 Linux 系統的平穩運行都很重要。例如,每次運行程序或命令時,系統都會查看 PATH 變量以檢查該程序是否存在。了解 shell 變量對於您日常使用或管理 Linux 系統很重要。
Shell 變量的重要性
shell 變量是一個佔位符,用於存儲 Linux 系統、程序或腳本使用的信息。
Linux 上有不同類型的 shell 或命令行解釋器,它們都廣泛使用變量。shell 變量扮演的一些重要角色包括:
- Shell 變量允許您在 Shell 中存儲和操作值,並且可以在計算或其他操作中操作結果。
- 它們提供了一種在腳本和程序之間傳遞值的方法
- 您可以使用 shell 變量來自定義程序的行為
Shell 變量非常靈活;您也可以創建自己的自定義變量,但這裡有一些系統自帶的默認變量。
1.路徑
PATH 變量指定當您在終端中輸入命令時系統應在其中搜索可執行文件的目錄。
它是一個系統範圍的環境變量,包含一個以冒號分隔的目錄列表。依次在每個目錄中搜索與您輸入的命令同名的可執行文件。
例如,如果您在終端中輸入 ls 命令,系統將在 PATH 變量中指定的目錄中搜索名為ls的命令。如果找到該文件,它將運行它;如果沒有,它將顯示“找不到命令”的錯誤消息。
PATH 變量很重要,因為它允許您從任何目錄運行命令,而無需指定可執行文件的完整路徑。例如,如果/usr/bin目錄中有“ls”可執行文件,則只需鍵入ls即可從任何目錄運行 ls 命令,而無需指定完整路徑,即/usr/bin/ls。
您可以通過運行 echo 命令來查看 PATH 變量的當前值,如下所示:
echo $PATH
您還可以通過在列表中添加或刪除目錄來修改 PATH 變量的值。如果您想要添加包含您自己的可執行文件或自定義腳本的目錄,或者如果您想要修改運行命令時搜索的目錄,這將很有用。
2. 家
在 Linux 上,HOME 變量是一個環境變量,用於指定用戶主目錄的路徑。為什麼這個這麼重要?好吧,Linux 是一個多用戶操作系統,主文件夾是系統上與每個用戶關聯的特殊目錄。
home目錄通常用於存放用戶的個人文件,如文檔、圖片、音樂等。
HOME 變量通常在您登錄時自動設置,許多程序和腳本使用它來定位用戶的主目錄。例如,當您運行不帶任何參數的 cd 命令時,它會使用 HOME 變量導航到用戶的主目錄。
許多程序使用 HOME 變量在用戶的主目錄中存儲配置文件或其他數據。您可以通過運行echo $HOME命令來查看 HOME 變量的當前值。
3.用戶
USER 變量指定當前登錄用戶的用戶名。它在您登錄時自動設置,程序和腳本通常使用它來確定當前用戶的用戶名。
USER 變量常用於腳本中,以根據當前用戶自定義程序的行為。例如,腳本可能會檢查 USER 變量的值,並且僅在當前用戶具有 root 或 sudo 權限時才執行某些操作。
您還可以使用該變量來運行某些通用命令。例如,將您的用戶添加到 docker 組時,您可以簡單地運行以下命令而不是鍵入實際的用戶名:
sudo usermod -aG docker $USER
4.外殼
shell 是一種提供命令行界面 (CLI) 以與操作系統交互的程序。
大多數 Linux 系統默認使用 Bourne Again Shell (Bash),但也有很多替代品。C shell (csh)、Z shell (Zsh)、fish 等。
SHELL 變量指定用戶默認 shell 的路徑。它會在您登錄時自動設置。
此外,該變量在腳本中用於根據用戶的默認 shell 自定義程序的行為。例如,腳本可能會檢查 SHELL 變量的值,並根據所使用的 shell 使用不同的語法或選項。
您可以通過運行echo $SHELL查看 SHELL 變量的當前值。您可以使用 chsh 命令更改默認 shell。
5. 行動不便
Linux 上的另一個重要環境變量,PWD 存儲您當前的工作目錄。與大部分靜態的環境變量不同,只要您使用 cd 命令更改目錄,這個環境變量就會由 shell 更新。
您可以在 shell 腳本中使用 PWD 變量輕鬆引用當前工作目錄。該變量的值類似於您在運行 pwd 命令時獲得的值。
6.主機名
主機名或設備名是用於在網絡上識別您的計算機的唯一名稱。例如,當你想通過 SSH 連接到一台機器時,你可以簡單地使用主機名而不是 IP 地址。
HOSTNAME 變量是一個環境變量,它只指定係統的主機名。它在系統啟動時自動設置,通常用於在系統連接到網絡時識別系統。您可以通過多種方式更改 Linux 上的主機名。
程序和腳本也使用 HOSTNAME 變量來識別系統並根據主機名自定義其行為。腳本通常會檢查 HOSTNAME 變量的值,並且僅在系統是特定主機時才執行某些操作。
在 Linux 上創建自定義變量
除了自動為您設置的默認 Linux 變量。您還可以使用 export 命令定義自己的 shell 變量。要創建一個名為 GREETING 且值為“Hello World”的新變量,您可以使用以下命令:
export GREETING="Hello World"
然後,您可以像使用任何其他環境變量一樣在腳本或命令行中使用 GREETING 變量。
發佈留言