Shell基本语法-变量
局部变量
变量(variable)
由字母、数字和下划线组成
必须以字母或下划线开头,而不能是数字
每个变量都有一个值(value),是赋与变量的内容或信息
变量赋值
VARIABLE=value 如:myvar=jinling
取变量的值
$myvar
只读变量:使变量值不可变
readonly
myvar=0
双引号可以关闭大多数字母的特殊意义,例如空格
person=“alice and bob”; echo $person
person=alice and bob
数组变量:bash支持一维数组变量
数组的下标:从数字0开始(第一个元素的下标为0)的整数
格式:names =(element1 element2 …)
数组元素:${names[2]}
表示下标为2的数组元素,
${names[*]}
表示所有的数组元素
数组元素赋值:等号左边数组元素,右边为具体的值
数组元素个数:运算符${#names[*]}
应用于数组变量,返回数组元素的个数
环境变量
HOME
:用户的主目录。用户创建账号时,其主目录就确定了。
echo $HOME
PATH
: shell查找程序的路径。shell按照顺序搜索PATH变量里的目录。目录之间必须用冒号隔开。
echo $PATH
export PATH=/root/mycode:$PATH
等价于
export PATH=$PATH:/root/mycode
位置变量和内建变量
linux中shell变量$#,$@,$0,$1,$2的含义解释:
变量说明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出
所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式
输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
示例
小结