Bash 是大多數(shù) Linux 發(fā)行版的默認(rèn) shell。以下是每個 Linux 用戶都需要知道的一些重要的 Bash shell 變量。
Shell 變量對于任何 Linux 系統(tǒng)的平穩(wěn)運行都很重要。例如,每次運行程序或命令時,系統(tǒng)都會查看 PATH 變量以檢查該程序是否存在。了解 shell 變量對于您日常使用或管理 Linux 系統(tǒng)很重要。
Shell 變量的重要性
shell 變量是一個占位符,用于存儲 Linux 系統(tǒng)、程序或腳本使用的信息。 Linux 上有不同類型的 shell 或命令行解釋器,它們都廣泛使用變量。shell 變量扮演的一些重要角色包括:
Shell 變量允許您在 Shell 中存儲和操作值,并且可以在計算或其他操作中操作結(jié)果。
它們提供了一種在腳本和程序之間傳遞值的方法
您可以使用 shell 變量來自定義程序的行為
Shell 變量非常靈活;您也可以創(chuàng)建自己的自定義變量,但這里有一些系統(tǒng)自帶的默認(rèn)變量。
1、PATH
PATH 變量指定當(dāng)您在終端中輸入命令時系統(tǒng)應(yīng)在其中搜索可執(zhí)行文件的目錄。 它是一個系統(tǒng)范圍的環(huán)境變量,包含一個以冒號分隔的目錄列表。依次在每個目錄中搜索與您輸入的命令同名的可執(zhí)行文件。 例如,如果您在終端中輸入ls 命令,系統(tǒng)將在 PATH 變量中指定的目錄中搜索名為 ls 的命令。如果找到該文件,它將運行它;如果沒有,它將顯示“找不到命令”的錯誤消息。 PATH 變量很重要,因為它允許您從任何目錄運行命令,而無需指定可執(zhí)行文件的完整路徑。例如,如果/usr/bin目錄中有“l(fā)s”可執(zhí)行文件,則只需鍵入 ls 即可從任何目錄運行 ls 命令,而無需指定完整路徑,即 /usr/bin/ls。 您可以通過運行 echo 命令來查看 PATH 變量的當(dāng)前值,如下所示:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com echo $PATH
您還可以通過在列表中添加或刪除目錄來修改 PATH 變量的值。如果您想要添加包含您自己的可執(zhí)行文件或自定義腳本的目錄,或者如果您想要修改運行命令時搜索的目錄,這將很有用。
2、HOME
在 Linux 上,HOME 變量是一個環(huán)境變量,用于指定用戶主目錄的路徑。為什么這個這么重要?因為 Linux 是一個多用戶操作系統(tǒng),主文件夾是系統(tǒng)上與每個用戶關(guān)聯(lián)的特殊目錄。 home目錄通常用于存放用戶的個人文件,如文檔、圖片、音樂等。 HOME 變量通常在您登錄時自動設(shè)置,許多程序和腳本使用它來定位用戶的主目錄。例如,當(dāng)您運行不帶任何參數(shù)的 cd 命令時,它會使用 HOME 變量導(dǎo)航到用戶的主目錄。 許多程序使用 HOME 變量在用戶的主目錄中存儲配置文件或其他數(shù)據(jù)。您可以通過運行echo $HOME命令來查看 HOME 變量的當(dāng)前值。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com echo $HOME
3、USER
USER 變量指定當(dāng)前登錄用戶的用戶名。它在您登錄時自動設(shè)置,程序和腳本通常使用它來確定當(dāng)前用戶的用戶名。 USER 變量常用于腳本中,以根據(jù)當(dāng)前用戶自定義程序的行為。例如,腳本可能會檢查 USER 變量的值,并且僅在當(dāng)前用戶具有 root 或 sudo 權(quán)限時才執(zhí)行某些操作。 您還可以使用該變量來運行某些通用命令。例如,將您的用戶添加到 docker 組時,您可以簡單地運行以下命令而不是鍵入實際的用戶名:
sudo usermod -aG docker $USER
4、shell
shell 是一種提供命令行界面 (CLI) 以與操作系統(tǒng)交互的程序。 大多數(shù) Linux 系統(tǒng)默認(rèn)使用 Bourne Again Shell (Bash),但也有很多替代品。C shell (csh)、Z shell (Zsh)、fish 等。 SHELL 變量指定用戶默認(rèn) shell 的路徑。它會在您登錄時自動設(shè)置。 此外,該變量在腳本中用于根據(jù)用戶的默認(rèn) shell 自定義程序的行為。例如,腳本可能會檢查 SHELL 變量的值,并根據(jù)所使用的 shell 使用不同的語法或選項。 您可以通過運行echo $SHELL查看 SHELL 變量的當(dāng)前值。您可以使用 chsh 命令更改您的默認(rèn) shell 。 相關(guān)鏈接:使用chsh更改Linux中默認(rèn)Shell https://www.linuxmi.com/chsh-linux-shell.html
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com echo $SHELL
5、PWD
Linux 上的另一個重要環(huán)境變量,PWD 存儲您當(dāng)前的工作目錄。與大部分靜態(tài)的環(huán)境變量不同,只要您使用 cd 命令更改目錄,這個環(huán)境變量就會由 shell 更新。 您可以在 shell 腳本中使用 PWD 變量輕松引用當(dāng)前工作目錄。該變量的值類似于您在運行 pwd 命令時獲得的值。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com pwd
6、HOSTNAME
主機(jī)名或設(shè)備名是用于在網(wǎng)絡(luò)上識別您的計算機(jī)的唯一名稱。例如,當(dāng)你想通過 SSH 連接到一臺機(jī)器時,你可以簡單地使用主機(jī)名而不是 IP 地址。 HOSTNAME 變量是一個環(huán)境變量,它只指定系統(tǒng)的主機(jī)名。它在系統(tǒng)啟動時自動設(shè)置,通常用于在系統(tǒng)連接到網(wǎng)絡(luò)時識別系統(tǒng)。您可以通過多種方式更改 Linux 上的主機(jī)名。 程序和腳本也使用 HOSTNAME 變量來識別系統(tǒng)并根據(jù)主機(jī)名自定義其行為。腳本通常會檢查 HOSTNAME 變量的值,并且僅在系統(tǒng)是特定主機(jī)時才執(zhí)行某些操作。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com hostname
在 Linux 上創(chuàng)建自定義變量
除了自動為您設(shè)置的默認(rèn) Linux 變量。您還可以使用 export 命令定義自己的 shell 變量。要創(chuàng)建一個名為 GREETING 且值為“Hello World”的新變量,您可以使用以下命令:
export GREETING="Hello World"然后,您可以像使用任何其他環(huán)境變量一樣在腳本或命令行中使用 GREETING 變量。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209496 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
593瀏覽量
27397 -
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28369 -
Shell
+關(guān)注
關(guān)注
1文章
365瀏覽量
23373 -
Bash
+關(guān)注
關(guān)注
0文章
57瀏覽量
10184
原文標(biāo)題:每個 Linux 用戶都需要知道的重要 Bash shell 變量
文章出處:【微信號:Linux迷,微信公眾號:Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論