0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

每個Linux用戶都需要知道的重要Bash shell變量

jf_ZqFkd6Up ? 來源:Linux迷 ? 2023-02-13 09:22 ? 次閱讀

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
e66330d0-aab6-11ed-bfe3-dac502259ad0.png

您還可以通過在列表中添加或刪除目錄來修改 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
e68047ba-aab6-11ed-bfe3-dac502259ad0.png

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
e69ad54e-aab6-11ed-bfe3-dac502259ad0.png

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
e6b9e182-aab6-11ed-bfe3-dac502259ad0.png

6、HOSTNAME

e6dd8236-aab6-11ed-bfe3-dac502259ad0.png

主機(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
e6f7d4e2-aab6-11ed-bfe3-dac502259ad0.png

在 Linux 上創(chuàng)建自定義變量

除了自動為您設(shè)置的默認(rèn) Linux 變量。您還可以使用 export 命令定義自己的 shell 變量。要創(chuàng)建一個名為 GREETING 且值為“Hello World”的新變量,您可以使用以下命令:


export GREETING="Hello World"
然后,您可以像使用任何其他環(huán)境變量一樣在腳本或命令行中使用 GREETING 變量。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    如何在bash shell腳本中使用變量

    如果你使用編程語言編寫過程序,那么一定接觸過變量。而在 bash 腳本的編寫時,變量也是一個很重要的概念。今天我們分享一下如何在 bash
    發(fā)表于 12-02 16:32 ?2112次閱讀
    如何在<b class='flag-5'>bash</b> <b class='flag-5'>shell</b>腳本中使用<b class='flag-5'>變量</b>

    一個小而美的嵌入式shell - letter shell

    熟悉Linux的朋友的知道,shell包裹在內(nèi)核之外的人機(jī)交互界面,用于用戶和內(nèi)核之間打交道的功能,類似于windows CMD。 通過
    的頭像 發(fā)表于 06-10 15:11 ?8990次閱讀
    一個小而美的嵌入式<b class='flag-5'>shell</b> - letter <b class='flag-5'>shell</b>

    shell編程之shell是什么

    的語法2.1 變量2.2 條件與控制結(jié)構(gòu)2.3 函數(shù)2.5 命令和命令的執(zhí)行2.6 here文檔2.7 調(diào)試腳本程序3.shell運用3.11.1 Shell是系統(tǒng)的用戶界面,提供了
    發(fā)表于 11-26 16:00

    Linux Shell系列教程之Shell簡介和類型

    Shell簡介Shell自身是一個用C語言編寫的程序,是用戶來使用Unix或Linux的橋梁,用戶的大部分工作
    發(fā)表于 08-28 13:56

    Linux Shell系列教程之Shell變量

    為使Shell編程更有效,系統(tǒng)提供了一些Shell變量Shell變量可以保存諸如路徑名、文件名或者一個數(shù)字這樣的
    發(fā)表于 08-28 14:14

    Linuxbash的主要介紹

    Again SHell(bash) - C SHell(csh) - KornSHell(ksh) - zsh各個shell的功能差不太
    發(fā)表于 07-11 06:53

    Bash 環(huán)境變量

    程序的目錄。正是由于 PATH 變量的存在,讓你不需要知道應(yīng)用程序具體安裝到了什么目錄,而 shell 卻可以正確地找到這些應(yīng)用程序。 如果你查看 PATH 變量的值,大概會是以下這樣
    發(fā)表于 11-01 15:13

    該如何設(shè)置和查看Linux系統(tǒng)的環(huán)境和Shell這兩種變量

    大家知道,在 Linux 系統(tǒng)中,有環(huán)境變量Shell 變量這兩種
    發(fā)表于 06-14 16:21

    Linux_Bash腳本編程大全

    毫無疑問,UNIX/Linux重要的軟件之一就是shell,目前最流行的shell 被稱為Bash(Bourne Again
    發(fā)表于 10-22 16:17 ?57次下載

    每個系統(tǒng)管理員都要知道的 30 個 Linux 系統(tǒng)監(jiān)控工具

    本文詳細(xì)介紹了每個系統(tǒng)管理員都要知道的 30 個 Linux 系統(tǒng)監(jiān)控工具。您需要監(jiān)控 Linux 服務(wù)器的性能嗎?試試用這些內(nèi)置命令和附加
    的頭像 發(fā)表于 02-26 15:46 ?2634次閱讀
    <b class='flag-5'>每個</b>系統(tǒng)管理員都<b class='flag-5'>要知道</b>的 30 個 <b class='flag-5'>Linux</b> 系統(tǒng)監(jiān)控工具

    使用Bash處理變量的常見錯誤

    Linux 中的 Bash 腳本語言支持對變量的操作。但是,如果您從事過其他流行的編程語言開發(fā),那么使用 Bash 處理變量會很容易出錯。因
    的頭像 發(fā)表于 05-13 15:52 ?1370次閱讀

    LINUX環(huán)境變量總結(jié)

    Linux是一個多用戶的操作系統(tǒng)。多用戶意味著每個用戶登錄系統(tǒng)后,都有自己專用的運行環(huán)境。而這個環(huán)境是由一組
    發(fā)表于 01-29 10:55 ?441次閱讀

    Bash腳本中特殊變量$0是什么?

    Bash 腳本中,`$0` 是一個特殊變量,它代表當(dāng)前腳本的路徑和名稱。這個變量用于表示腳本自身,它是 Bash 環(huán)境中的一個重要組成部
    的頭像 發(fā)表于 05-12 14:41 ?1846次閱讀

    BASH shell腳本篇—條件命令

    這篇文章介紹下BASH shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break, continue。
    的頭像 發(fā)表于 10-11 15:21 ?625次閱讀
    <b class='flag-5'>BASH</b> <b class='flag-5'>shell</b>腳本篇—條件命令

    linux命令和shell編程有什么聯(lián)系

    的命令,并提供了許多功能和特性,如變量、控制結(jié)構(gòu)、函數(shù)等,這些功能和特性使得Shell編程成為可能。 其次,Linux命令是Shell編程的重要
    的頭像 發(fā)表于 11-08 10:53 ?930次閱讀