Shell变量的定义:
(1)shell中的变量可以由字母,数字,下划线组成,但数字不能作为变量的第一个字符。
(2)通过赋值符号“=”来定义一个变量的值,shell的变量类型只有字符串类型。
如:name = “Changer Lee” #用双引号会解析$和反斜杠转义字符以及空格符等特殊字符
IP = ‘192.168.1.100’ #字符串类型,不解析任何转义字符
age = 18
height = 1.75
Sys_Time = `date` #将反引号中的系统命令的执行结果赋值
Shell变量的引用:
(1)变量的引用,使用美元$加变量名,来引用一个变量的值。
shell实例1:
[root@ChangerLee 变量输入输出]# cat valname.sh
#!/bin/bash
#变量名的引用
programe_name="apache"
echo "the value name:"$programe_name
echo "the value name:"${programe_name}
[root@ChangerLee 变量输入输出]# sh valname.sh
the value name:apache
the value name:apache
(2)变量名外面的花括号是可选的,是为了帮助解释器识别变量的边界
Shell实例2:
[root@ChangerLee 变量输入输出]# cat valname_v1.sh
#!/bin/bash
#变量名花括号的使用实例
#花括号帮助解释器识别变量边界为为shellname,而不是shellnamescripts
for shellname in python php perl
do
echo "this is ${shellname}scripts !!!"
done
[root@ChangerLee 变量输入输出]# sh valname_v1.sh
this is pythonscripts !!!
this is phpscripts !!!
this is perlscripts !!!
(3)关于变量与引号的结合使用
单引号是强引用,单引号下一切都是字符串
双引号是弱引用,$变量名,\转义特殊字符,都会有效显示
反引号下执行系统命令,并且可以将结果直接援用,或这变量保存
shell实例3:
[root@ChangerLee 变量输入输出]# cat yinhao.sh
#!/bin/bash
#这是一个关于单引号双引号反引号的实例
name="Changer Lee" #等号左右不要有空格,这是语法规定
echo "双引号:$name"
echo '单引好: $name'
echo "反引号输出当前系统时间: "`date +%Y%m%d\ %r`
touch filelog_"`date +%Y%m%d`"
ls filelog*
[root@ChangerLee 变量输入输出]# sh yinhao.sh
双引号:Changer Lee
单引好: $name
反引号输出当前系统时间: 20160731 11:08:40 AM
filelog_20160731