Chinaunix首页 | 论坛 | 博客

14#

  • 博客访问: 176841
  • 博文数量: 48
  • 博客积分: 1910
  • 博客等级: 上尉
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-27 10:38
文章存档

2012年(8)

2011年(2)

2010年(13)

2009年(25)

我的朋友

分类: Python/Ruby

2012-01-14 17:40:29

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