linux eval命令

来源:互联网 发布:录音合成软件 编辑:程序博客网 时间:2024/05/21 04:44

有这样的一个需求, 若干shell脚本会共同使用一些基本变量,比如日志目录变量,一般会把这些变量放在一个配置文件中,其他shell引用这些变量。 
引用变量方法汇总如下: 
1、 . conf_file 
2、读取conf_file 
代码如下: 
方法1:(前公司)

#!/bin/bash. /home/test/cfg/conf_fileecho $LOGDIR
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

方法2:(现公司)

#!/bin/bashconf_file="/home/test/cfg/conf_file"while read linedo    eval "$line"done < $conf_fileecho $LOGDIR
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

conf_file内容如下:

LOGDIR=/home/test/log/USER=testHOST="192.168.1.1"...
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

2个方法,第1个方法比较简单,容易理解;第2个方法,如果不熟悉eval命令的人,估计得耗些时间,我也是在别人离职后交接给我后出问题看脚本才知道这个方法。

在这里吐槽下,看别人写的脚本真痛苦,尤其是没有注释还比较混乱的。 
个人的经验: 
基本通用变量放在一个配置文件(日志目录,用户,密码等等) 
基本的通用函数放在一个脚本中(记日志函数,连接主机或者读数据库等等) 
然后在真正实现脚本中引用。

0 0
原创粉丝点击