Chinaunix首页 | 论坛 | 博客
  • 博客访问: 210876
  • 博文数量: 78
  • 博客积分: 582
  • 博客等级: 下士
  • 技术积分: 560
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-15 09:06
文章分类

全部博文(78)

文章存档

2012年(50)

2011年(1)

2010年(27)

分类:

2012-01-16 20:48:33

原文地址:Bash脚本编写要点总结 作者:garyfujian

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 ~]# 
 
阅读(231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~