变量定义及用法的特殊形式实战

例1:经过反引号的`date`命令测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@XCN ~]# echo '`date`'    
`date`
 
#单引号时看到啥显示啥
 
[root@XCN ~]# echo "`date`" 
Fri Jun 16 14:45:29 CST 2017
 
#双引号时如果里面是变量,会先把变量解析成具体内容在显示
 
 
[root@XCN ~]# echo `date`  
Fri Jun 16 14:46:49 CST 2017
 
#对于连续的字符串等内容一般不加引号也可,加双引号一般比较保险,推荐
 
 
[root@XCN ~]# echo $(date)
Fri Jun 16 14:48:45 CST 2017
#利用()可以打印命令输入的内容


例2:变量定义后,调用时测试

1
2
3
4
5
6
7
[root@XCN ~]# xcn=dobe    #创建一个不带引号的变量  
[root@XCN ~]# echo $xcn   #不加引号,显示一个变量解析后的内容
dobe
[root@XCN ~]# echo '$xcn'  #单引号,显示一个变量本身   
$xcn
[root@XCN ~]# echo "$xcn"  #双引号,显示一个变量内容,引号内可以是变量,字符串等
dobe


例3:grep过滤字符串例子

1
2
3
4
5
6
7
[root@XCN ~]# cat >grep.log
bodo
xcn
[root@XCN ~]# cat grep.log 
bodo
xcn
[root@XCN ~]# grep '$xcn' grep.log

特殊例子:awk调用shell变量引号例子

1
2
3
4
5
6
7
[root@XCN ~]# XCN=123
[root@XCN ~]# awk 'BEGIN {print "$XCN"}'      
$XCN
[root@XCN ~]# awk 'BEGIN {print '$XCN'}'  
123
 
提示:以上的结果正好的前面的结论相反。这是awk调用shell变量的特殊用法

上一篇:mysql 备份shell 脚本


下一篇:MySQL备份