完善 发表于 2019-5-22 11:30:09

在Linux中Bash变量的用法

Bourne Again SHell(缩写为bash)可能是Linux世界中使用最多的shell,在大多数Linux发行版中都是默认使用设置。因此,许多人在使用Linux命令行时都会使用它。许多人使用bash是因为它的灵活性以及运行其他应用程序的一种方式。它也是一种带有功能和变量的脚本语言,允许将其他应用程序组合在一起,从而使更复杂的整体。本文将学习如何使用bash变量以及它们有何用处。
什么是bash变量?
首先,讨论什么是变量。在最基本的术语中,变量是指计算机内存中存储一些数据的一部分。当变量在命令中使用时,计算机将从内存中获取数据,并在变量所在的位置使用它。虽然这听起来很复杂,但将变量想象成与命名框类似的东西可能更容易一些。将要使用的数据放入框中,每次使用框的名称时,名称都会被其内容所替换。
使用bash变量
那么如何在bash中使用变量呢?它们是通过用等号进行赋值来使用的。例如:
var=”Hello World”
这会将文本“Hello World”放入名为“var”的变量中。然后,当变量“var”在后面的文本中被引用时,“Hello World”会在其位置上使用。此变量对当前会话有效,当关闭它并重新登录时,该变量将被忘记。
变量不需要包含随机文本。它还可以存储命令信息或可能需要的其他命令的输出。例如:
mylogs=$(ls /var/log/*.log)
上面的命令使用美元符号和括号“$()”来指示bash应该从ls命令(当前日志文件的列表)中获取输出,并将其分配给mylogs变量,稍后可以引用该变量。还可以在命令周围使用双引号(“”),可以在bash脚本中看到这一点,但圆括号是现代的推荐用法。
要在命令行使用变量,需要在其名称前面加上美元符号$,让bash知道这指的是该变量的内容:
echo $var
上面的命令会将“Hello World”写入屏幕,因为bash将用前面分配的“Hello World”替换$var。另一个例子如下:
zip $mylogs currentlogs.zip
这将创建一个包含当前日志的压缩文件,即先前将其放在mylogs变量中的文件。
环境变量
除了为shell会话设置的变量之外,还有称为环境变量的变量。这些变量也可用于从shell启动的应用程序,通常使用用户的.bashrc或.bash_配置文件等配置文件进行预配置。按照惯例,这些词都是用大写字母命名的。
若要查看当前环境变量的列表,可以使用以下命令:
printenv
一些常见的环境变量是HOME,它显示当前用户的主目录在哪里,PATH定义了shell在其中查找以运行应用程序的路径。可以在变量赋值之前放置export命令来添加环境变量:
export MY_VAR=”My environment variable”
还可以导出以前设置的变量,使其成为环境变量:
export mylogs
若要将变量从环境变量转换回原来的值,导出命令可以与-n标志一起使用:
export -n mylogs
最后,如果完全使用完变量,可以使用unset命令将其删除:
unset mylogs
Bash变量使得在命令行上工作变得更加容易,因为它是存储和调用与多个命令一起使用的数据的简单方法,从而避免了重复输入命令的麻烦。

页: [1]
查看完整版本: 在Linux中Bash变量的用法