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