0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

每个Linux用户都需要知道的重要Bash shell变量

jf_ZqFkd6Up 来源:Linux迷 2023-02-13 09:22 次阅读

Bash 是大多数 Linux 发行版的默认 shell。以下是每个 Linux 用户都需要知道的一些重要的 Bash shell 变量。

Shell 变量对于任何 Linux 系统的平稳运行都很重要。例如,每次运行程序或命令时,系统都会查看 PATH 变量以检查该程序是否存在。了解 shell 变量对于您日常使用或管理 Linux 系统很重要。

Shell 变量的重要性

shell 变量是一个占位符,用于存储 Linux 系统、程序或脚本使用的信息。 Linux 上有不同类型的 shell 或命令行解释器,它们都广泛使用变量。shell 变量扮演的一些重要角色包括:

Shell 变量允许您在 Shell 中存储和操作值,并且可以在计算或其他操作中操作结果。

它们提供了一种在脚本和程序之间传递值的方法

您可以使用 shell 变量来自定义程序的行为

Shell 变量非常灵活;您也可以创建自己的自定义变量,但这里有一些系统自带的默认变量。

1、PATH

PATH 变量指定当您在终端中输入命令时系统应在其中搜索可执行文件的目录。 它是一个系统范围的环境变量,包含一个以冒号分隔的目录列表。依次在每个目录中搜索与您输入的命令同名的可执行文件。 例如,如果您在终端中输入ls 命令,系统将在 PATH 变量中指定的目录中搜索名为 ls 的命令。如果找到该文件,它将运行它;如果没有,它将显示“找不到命令”的错误消息。 PATH 变量很重要,因为它允许您从任何目录运行命令,而无需指定可执行文件的完整路径。例如,如果/usr/bin目录中有“ls”可执行文件,则只需键入 ls 即可从任何目录运行 ls 命令,而无需指定完整路径,即 /usr/bin/ls。 您可以通过运行 echo 命令来查看 PATH 变量的当前值,如下所示:


linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 echo $PATH
e66330d0-aab6-11ed-bfe3-dac502259ad0.png

您还可以通过在列表中添加或删除目录来修改 PATH 变量的值。如果您想要添加包含您自己的可执行文件或自定义脚本的目录,或者如果您想要修改运行命令时搜索的目录,这将很有用。

2、HOME

在 Linux 上,HOME 变量是一个环境变量,用于指定用户主目录的路径。为什么这个这么重要?因为 Linux 是一个多用户操作系统,主文件夹是系统上与每个用户关联的特殊目录。 home目录通常用于存放用户的个人文件,如文档、图片、音乐等。 HOME 变量通常在您登录时自动设置,许多程序和脚本使用它来定位用户的主目录。例如,当您运行不带任何参数的 cd 命令时,它会使用 HOME 变量导航到用户的主目录。 许多程序使用 HOME 变量在用户的主目录中存储配置文件或其他数据。您可以通过运行echo $HOME命令来查看 HOME 变量的当前值。


linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 echo $HOME
e68047ba-aab6-11ed-bfe3-dac502259ad0.png

3、USER

USER 变量指定当前登录用户的用户名。它在您登录时自动设置,程序和脚本通常使用它来确定当前用户的用户名。 USER 变量常用于脚本中,以根据当前用户自定义程序的行为。例如,脚本可能会检查 USER 变量的值,并且仅在当前用户具有 root 或 sudo 权限时才执行某些操作。 您还可以使用该变量来运行某些通用命令。例如,将您的用户添加到 docker 组时,您可以简单地运行以下命令而不是键入实际的用户名:


sudo usermod -aG docker $USER

4、shell

shell 是一种提供命令行界面 (CLI) 以与操作系统交互的程序。 大多数 Linux 系统默认使用 Bourne Again Shell (Bash),但也有很多替代品。C shell (csh)、Z shell (Zsh)、fish 等。 SHELL 变量指定用户默认 shell 的路径。它会在您登录时自动设置。 此外,该变量在脚本中用于根据用户的默认 shell 自定义程序的行为。例如,脚本可能会检查 SHELL 变量的值,并根据所使用的 shell 使用不同的语法或选项。 您可以通过运行echo $SHELL查看 SHELL 变量的当前值。您可以使用 chsh 命令更改您的默认 shell 。 相关链接:使用chsh更改Linux中默认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 上的另一个重要环境变量,PWD 存储您当前的工作目录。与大部分静态的环境变量不同,只要您使用 cd 命令更改目录,这个环境变量就会由 shell 更新。 您可以在 shell 脚本中使用 PWD 变量轻松引用当前工作目录。该变量的值类似于您在运行 pwd 命令时获得的值。


linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 pwd
e6b9e182-aab6-11ed-bfe3-dac502259ad0.png

6、HOSTNAME

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

主机名或设备名是用于在网络上识别您的计算机的唯一名称。例如,当你想通过 SSH 连接到一台机器时,你可以简单地使用主机名而不是 IP 地址。 HOSTNAME 变量是一个环境变量,它只指定系统的主机名。它在系统启动时自动设置,通常用于在系统连接到网络时识别系统。您可以通过多种方式更改 Linux 上的主机名。 程序和脚本也使用 HOSTNAME 变量来识别系统并根据主机名自定义其行为。脚本通常会检查 HOSTNAME 变量的值,并且仅在系统是特定主机时才执行某些操作。


linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 hostname
e6f7d4e2-aab6-11ed-bfe3-dac502259ad0.png

在 Linux 上创建自定义变量

除了自动为您设置的默认 Linux 变量。您还可以使用 export 命令定义自己的 shell 变量。要创建一个名为 GREETING 且值为“Hello World”的新变量,您可以使用以下命令:


export GREETING="Hello World"
然后,您可以像使用任何其他环境变量一样在脚本或命令行中使用 GREETING 变量。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10991

    浏览量

    206736
  • Linux系统
    +关注

    关注

    4

    文章

    567

    浏览量

    26913
  • 变量
    +关注

    关注

    0

    文章

    595

    浏览量

    28112
  • Shell
    +关注

    关注

    1

    文章

    358

    浏览量

    22902
  • Bash
    +关注

    关注

    0

    文章

    57

    浏览量

    10071

原文标题:每个 Linux 用户都需要知道的重要 Bash shell 变量

文章出处:【微信号:Linux迷,微信公众号:Linux迷】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在bash shell脚本中使用变量

    如果你使用编程语言编写过程序,那么一定接触过变量。而在 bash 脚本的编写时,变量也是一个很重要的概念。今天我们分享一下如何在 bash
    发表于 12-02 16:32 1670次阅读
    如何在<b class='flag-5'>bash</b> <b class='flag-5'>shell</b>脚本中使用<b class='flag-5'>变量</b>

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

    熟悉Linux的朋友的都知道shell包裹在内核之外的人机交互界面,用于用户和内核之间打交道的功能,类似于windows CMD。 通过Shell
    的头像 发表于 06-10 15:11 4452次阅读
    一个小而美的嵌入式<b class='flag-5'>shell</b> - letter <b class='flag-5'>shell</b>

    shell编程之shell是什么

    的语法2.1 变量2.2 条件与控制结构2.3 函数2.5 命令和命令的执行2.6 here文档2.7 调试脚本程序3.shell运用3.11.1 Shell是系统的用户界面,提供了
    发表于 11-26 16:00

    Linux Shell系列教程之Shell简介和类型

    Shell简介Shell自身是一个用C语言编写的程序,是用户来使用Unix或Linux的桥梁,用户的大部分工作
    发表于 08-28 13:56

    Linux Shell系列教程之Shell变量

    为使Shell编程更有效,系统提供了一些Shell变量Shell变量可以保存诸如路径名、文件名或者一个数字这样的
    发表于 08-28 14:14

    Linuxbash的主要介绍

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

    Bash 环境变量

    程序的目录。正是由于 PATH 变量的存在,让你不需要知道应用程序具体安装到了什么目录,而 shell 却可以正确地找到这些应用程序。 如果你查看 PATH 变量的值,大概会是以下这样
    发表于 11-01 15:13

    嵌入式Linux使用bash的必要性是什么

    嵌入式Linux使用bash的必要性一直以来嵌入式ARM linux的默认shell多数是busybox自带的ash,该shell可以看做是
    发表于 12-16 08:06

    该如何设置和查看Linux系统的环境和Shell这两种变量

    大家知道,在 Linux 系统中,有环境变量Shell 变量这两种
    发表于 06-14 16:21

    如何通过Linux系统的Shell用户访问操作系统内核服务

    Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash 也是大多数 Linux 系统默认的 Shellshell 解释器jav
    发表于 06-14 16:50

    Linux_Bash脚本编程大全

    毫无疑问,UNIX/Linux重要的软件之一就是shell,目前最流行的shell 被称为Bash(Bourne Again
    发表于 10-22 16:17 56次下载

    使用Bash处理变量的常见错误

    Linux 中的 Bash 脚本语言支持对变量的操作。但是,如果您从事过其他流行的编程语言开发,那么使用 Bash 处理变量会很容易出错。因
    的头像 发表于 05-13 15:52 1066次阅读

    LINUX环境变量总结

    Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组
    发表于 01-29 10:55 294次阅读

    Bash脚本中特殊变量$0是什么?

    Bash 脚本中,`$0` 是一个特殊变量,它代表当前脚本的路径和名称。这个变量用于表示脚本自身,它是 Bash 环境中的一个重要组成部
    的头像 发表于 05-12 14:41 1515次阅读

    linux命令和shell编程有什么联系

    的命令,并提供了许多功能和特性,如变量、控制结构、函数等,这些功能和特性使得Shell编程成为可能。 其次,Linux命令是Shell编程的重要
    的头像 发表于 11-08 10:53 414次阅读