linux eval命令

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

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

方法2:(现公司)

#!/bin/bash

conf_file="/home/test/cfg/conf_file"
while read line
do
    eval "$line"
done < $conf_file
echo $LOGDIR
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

conf_file内容如下:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值