环境变量的使用
在命令行,可以使用printenv
命令来查看系统环境变量,也可以用 set
命令查看当前 shell 可以使用的环境变量。
可以使用美元符号加变量名来使用变量的值
David~MackBook:~ $ echo $UID
501
既然使用变量的值是需要加上美元符号的,那么在 echo 命令中,要输出美元符号就需要转义了
David~MackBook:~ $ echo "the cost of the item is \$15"
the cost of the item is $15
用户变量
除了环境变量,还可以自己定义用户自己的变量,在脚本中尤其重要。
David~MackBook:~$ var1=10
David~MackBook:~$ echo $var1
10
David~MackBook:~$ var2="I am David"
David~MackBook:~$ echo $var2
I am David
两点需要注意
- 变量名,等号,值 之间是不能有空格的
- 变量的类型系统会自己识别
但是,把一个变量的值赋值给另外一个变量,会稍有点不同
David~MackBook:~$ echo $var2
I am David
David~MackBook:~$ test=var2
David~MackBook:~$ echo $test
var2
David~MackBook:~$ test=$var2
David~MackBook:~$ echo $test
I am David
可以看到,不能用变量名来赋值给另外一个变量,而要用变量的值来赋值给另外一个变量,这与像Java编程语言习惯有点不同。
命令输出结果赋值给变量
可以用反引号把命令圈起来,然后赋值给变量
David~MackBook:~$ test=`date`
David~MackBook:~$ echo $test
2017年 7月15日 星期六 00时26分58秒 CST