1.自定义变量
bash编写时,在变量赋值时包含awk等命令字符串时,注意以下提示:
1)最好用双引号“”引用起来;
2)双引号里的单引号没有作用,保留原意;
3)可以在双引号里包含双引号,方式是加上转义符"\",还必须转义$, `, \;
例子:
GET_OUTTABLE=" grep 'SM_Temp_OutTable_SMF count'|grep 'end'|tail -40 |/usr/xpg4/bin/awk -F 'end time=' 'BEGIN{OFS=\"|\" } {print
\"outtable\",\$2}' "
2.Bash指针
Bash间接引用,“指针”:
[root@fx_local2 ~]# i=aaa
[root@fx_local2 ~]# p=i # 定义了一个到i的指针
[root@fx_local2 ~]# echo ${!p} # 输出指针的值,相当于:echo ${i}
aaa # 相当于$i的值
[root@fx_local2 ~]# eval echo \$$p # 和这种写法等效
aaa
3.eval
eval的作用是再次执行命令行处理,eval语句通知shell接受eval参数,并再次通过命令行处理的所有步骤运行它们。
它使你可以编写脚本随意创建命令字符串,然后把它们传递给shell执行;
[root@ffcs01 ~]# LS_01=ls
[root@ffcs01 ~]# eval ${LS_01}
anaconda-ks.cfg Desktop install.log install.log.syslog
[root@ffcs01 ~]#
阅读(1049) | 评论(0) | 转发(1) |