变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念。
保存将来会变化的数据,即使数据变化,直接调用变量即可,各种 Shell 环境中都使用到了“变量”的概念。Shell 变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应变化。通过使用变量,Shell 程序能够提供更加灵活的功能,适应性更强。
常见的Shell变量类型如下:
自定义变量:由用户自己定义,修改和使用。
环境变量:由系统维护,用于设置工作环境。
只读变量:只可以读取不可以更改。
位置变量:通过命令行给脚本传递参数。
预定义变量:Bash中内置的一类变量,不能修改,有些规定好的变量放在那里让你使用。
- 定义新的变量
Bash中的变量操作相对比较简单,不像其它高级编程语言那么复杂。在定义一个新的变量时,一般不需要提前进行声明而是直接指定变量名称并赋给初始值即可。
定义变量的基本格式为“变量名=变量值”,等号两边没有空格。变量名称需要以字母或下划线开头,名称中不可以包含特殊字符。例如name='root',直接赋值字串、变量引用:name="$USER"、命令引用:name=`COMMAND` 或者 name=$(COMMAND)。
通过在变量名称前添加符号“$”,可以引用一个变量的值。使用echo命令可以查看变量,可以在一条echo命令中同时查看多个变量值。当变量名称容易和紧跟其后的其它字符混淆时,需要添加“{}”将其括起来,否则无法确定正确的变量名称。对于未定义的变量名称,将显示为空值。
在“=”后边直接指定变量内容是为变量赋值的最基本的方法,除此之外还有一些特殊的赋值操作,可以更加灵活地为变量赋值,以便适用于各种复杂的管理任务。
(1)双引号
双引