当前位置: 首页 > 科技观察

您应该了解的六个有用的BashShell变量

时间:2023-03-16 23:23:00 科技观察

Shell变量对于任何Linux系统的平稳运行都很重要。例如,每次运行程序或命令时,系统都会查看PATH变量以检查该程序是否存在。了解shell变量对于您日常使用或管理Linux系统很重要。Shell变量的重要性Shell变量是Linux系统、程序或脚本使用的信息的占位符。Linux上有不同类型的shell或命令行解释器,它们都广泛使用变量。shell变量发挥的一些重要作用包括:Shell变量允许您在shell中存储和操作值,并且您可以在计算或其他操作中操作结果。它们提供了一种在脚本和程序之间传递值的方法。您可以使用shell变量来自定义程序的行为。Shell变量非常灵活;您也可以创建自己的自定义变量,但这里有一些系统自带的默认变量。1.PATHPATH变量指定当您在终端中输入命令时系统应在其中搜索可执行文件的目录。它是一个系统范围的环境变量,包含一个以冒号分隔的目录列表。依次在每个目录中搜索与您输入的命令同名的可执行文件。例如,如果您在终端中输入ls命令,系统将在PATH变量指定的目录中搜索名为ls的命令。如果找到该文件,它将运行它;如果没有,它将显示“找不到命令”的错误消息。PATH变量很重要,因为它允许您从任何目录运行命令而无需指定可执行文件的完整路径。例如,如果/usr/bin目录中有“ls”可执行文件,则只需键入ls即可从任何目录运行ls命令,无需指定完整路径,即/usr/bin/ls。您可以通过运行echo命令来查看PATH变量的当前值,如下所示:linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?echo$PATH您还可以通过在列表中添加或删除目录来修改PATH变量价值。如果您想要添加包含您自己的可执行文件或自定义脚本的目录,或者如果您想要修改运行命令时搜索的目录,这将很有用。2.HOME在Linux上,HOME变量是一个环境变量,用于指定用户主目录的路径。为什么这个这么重要?因为Linux是一个多用户操作系统,所以主文件夹是系统上与每个用户关联的一个特殊目录。主目录通常用于存放用户的个人文件,如文档、图片、音乐等。HOME变量通常在您登录时自动设置,许多程序和脚本使用它来定位用户的主目录。例如,当您运行不带任何参数的cd命令时,它会使用HOME变量导航到用户的主目录。许多程序使用HOME变量在用户的主目录中存储配置文件或其他数据。您可以通过运行echo$HOME命令来查看HOME变量的当前值。linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?echo$HOME3,USERUSER变量指定当前登录用户的用户名。它在您登录时自动设置,程序和脚本经常使用它来确定当前用户的用户名。USER变量常用于脚本中,以根据当前用户自定义程序的行为。例如,脚本可能会检查USER变量的值,并且仅在当前用户具有root或sudo权限时才执行某些操作。您还可以使用此变量来运行一些常用命令。例如,将您的用户添加到docker组时,无需键入您的实际用户名,只需运行以下命令即可:sudousermod-aGdocker$USER4,shellshell是一个命令行界面(CLI),用于与操作系统交互程序。大多数Linux系统默认使用BourneAgainShell(Bash),但也有许多替代方案。Cshell(csh)、Zshell(Zsh)、fish等。SHELL变量指定用户默认shell的路径。它会在您登录时自动设置。此外,此变量用于脚本中以根据用户的默认shell自定义程序的行为。例如,脚本可能会检查SHELL变量的值,并根据所使用的shell使用不同的语法或选项。您可以通过运行echo$SHELL查看SHELL变量的当前值。您可以使用chsh命令更改默认shell。相关链接:在Linux中使用chsh更改默认shellhttps://www.linuxmi.com/chsh-linux-shell.htmllinuxmi@linuxmi/home/linuxmi/www.linuxmi.com?echo$SHELL5,另一个重要的环境PWDLinux变量,PWD存储你当前的工作目录。与大多数静态环境变量不同,每当您使用cd命令更改目录时,shell都会更新这个环境变量。您可以使用PWD变量轻松地在shell脚本中引用当前工作目录。此变量的值类似于您在运行pwd命令时获得的值。linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?pwd6,HOSTNAME主机名或设备名是用于在网络上识别您的计算机的唯一名称。例如,当你想通过SSH连接到一台机器时,你可以简单地使用主机名而不是IP地址。HOSTNAME变量是一个环境变量,它只指定系统的主机名。它在系统启动时自动设置,通常用于在连接到网络时识别系统。您可以通过多种方式更改Linux上的主机名。程序和脚本还使用HOSTNAME变量来识别系统并根据主机名自定义它们的行为。脚本通常会检查HOSTNAME变量的值,并且仅在系统是特定主机时才执行某些操作。linuxmi@linuxmi/home/linuxmi/www.linuxmi.com?hostname除了自动为您设置的默认Linux变量之外,在Linux上创建自定义变量。您还可以使用export命令定义自己的shell变量。要创建一个名为GREETING且值为“HelloWorld”的新变量,您可以使用以下命令:exportGREETING="HelloWorld"然后您可以像使用任何其他环境变量一样在脚本或命令行中使用GREETING变量。