RM新时代网站-首页

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

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

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

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

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

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

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

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

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

6、HOSTNAME

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

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

在 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 變量。

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    一個(gè)小而美的嵌入式shell - letter shell

    熟悉Linux的朋友的知道,shell包裹在內(nèi)核之外的人機(jī)交互界面,用于用戶和內(nèi)核之間打交道的功能,類似于windows CMD。 通過
    的頭像 發(fā)表于 06-10 15:11 ?8755次閱讀
    一個(gè)小而美的嵌入式<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運(yùn)用3.11.1 Shell是系統(tǒng)的用戶界面,提供了
    發(fā)表于 11-26 16:00

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

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

    Linux Shell系列教程之Shell變量

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

    Linuxbash的主要介紹

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

    Bash 環(huán)境變量

    程序的目錄。正是由于 PATH 變量的存在,讓你不需要知道應(yīng)用程序具體安裝到了什么目錄,而 shell 卻可以正確地找到這些應(yīng)用程序。 如果你查看 PATH 變量的值,大概會(huì)是以下這樣
    發(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次下載

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

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

    使用Bash處理變量的常見錯(cuò)誤

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

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

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

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

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

    BASH shell腳本篇—條件命令

    這篇文章介紹下BASH shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break, continue。
    的頭像 發(fā)表于 10-11 15:21 ?606次閱讀
    <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 ?911次閱讀
    RM新时代网站-首页