shell比较配置文件的正误

性能测试时,可能会将环境改来改去,每次测试时,配置文件不一样,可能会导致测试失败。

假设有一份正确的配置文件为zoo.cfg.template,测试环境的配置文件为zoo.cfg

那么如何对比以上两者,找出zoo.cfg中的配置错误呢

下述代码应该可以

#!/bin/bash
#by hzwuboxiao

cat $1 | while read line
do
    key=$(echo $line | sed -e ‘s/\(.*\)=\(.*\)/\1/g‘)
    if [ -z "$key" ]; then continue
    fi
    value=$(echo $line | sed -e ‘s/\(.*\)=\(.*\)/\2/g‘)
    value_correct=$(grep $key $2 | sed -e ‘s/\(.*\)=\(.*\)/\2/g‘)
    if [ "$value"x != "$value_correct"x ];then
       echo $(grep $key $1;grep $key $2)
    fi
done

  

时间: 2024-12-29 09:44:43

shell比较配置文件的正误的相关文章

mongo shell启动配置文件.mongorc.js(二)

mongo shell启动配置文件.mongorc.js(二) 如果你的主目录下有个.mongorc.js文件,那么当你启动shell时他就会自动运行.使用它可以初始化任何你经常使用的helper方法和你不想意外操作的删除方法. 比如,你不想使用默认的dropDatabase()方法了,你可以在.mongorc.js文件中添加下面的命令: DB.prototype.dropDatabase = function() {        print("No dropping DBs!");

mongo shell启动配置文件.mongorc.js(三)

mongo shell启动配置文件.mongorc.js(三) 自定义MongoDB操作函数 可以把自己写的js代码保存在某个地方,让MongoDB加载它,然后就可以在MongoDB的命令行里操作它们. mongodb shell默认会加载~/.mongorc.js文件 例如以下修改了启动提示文字.左侧提示文字,增加了my_show_shards shell函数用于显示当前sharded collection的chunks在各分片的负载情况: //~/.mongorc.js   //show a

linux shell的配置文件信息

SHELL的类型: 1.登录式shell 正常通过某终端登录 su - su -l 2.非登录式shell su 图形终端下打开的命令窗口 自动执行的shell脚本 bash的配置文件 1.全局配置 /etc/profile,/etc/profile.d/*.sh,/etc/bashrc 2.个人配置 ~/.bash_profile, ~/.bashrc profile类的文件 设定环境变量 运行命令或脚本 bashrc类的文件 设定局部(本地)变量 定义命令别名 登录式shell如何读取配置文

Shell读取配置文件的方法

参考:http://www.cnblogs.com/binbinjx/p/5680214.html 做批量软件安装自动化时,都喜欢用配置文件的方式改变参数,那怎么通过shell读取配置文件的配置呢?参考以上链接,根据易用性依次讨论三种方法: 假设配置文件config的内容如下: #!/bin/bash #configuration ID=123 IP=192.168.3.154 Name=test 1 直接将配置信息加载到session的环境变量中 #source config #echo $I

Linux shell 启动配置文件设置

安装一个软件,最后生成的报告中,要求“To start using the EGSnrc system, activate your current configuration by adding the following lines to your favorite shell resource file: ” 刚开始没明白Shell resource file是什么意思.后来搜索才发现原来就是环境变量的配置文件. 每个shell的启动,执行命令和程序的机制,如何处理命令和程序的输入输出,以

Bash shell的配置文件

Bash 的配置文件: 两类: Profile 类:为交互式登陆的 shell进程提供配置 Bashrc 类:为非交互式登陆的 shell进程提供配置 登陆类型: 交互式登陆 shell进程: 直接通过某终端输入账号和密码后登陆打开的 shell进程: 使用 su命令:su – centos ,或者使用 su -l centos 执行的登陆切换: 非交互式登陆 shell进程: Su centos 执行的登陆切换: 图形界面下打开的终端: 运行脚本 Profile 类: 全局:对所有用户都生效:

linux shell 读取配置文件的一个例子

配置文件内容如下: #Created by JInto - www.guh-software.de #Tue Aug 28 22:20:17 GMT+08:00 2018 aas_amountuser_switch=1 aas_fleet_switch=1 aas_usertokenproct_switch=1 aas_usertokenproct_num=5 aas_devtokenproct_switch=1...... 读取脚本如下: # /bin/bash configuration_f

shell 读取配置文件的方法

原文地址:http://bbs.chinaunix.net/thread-3628456-1-1.html 总结地址:https://www.cnblogs.com/binbinjx/p/5680214.html 配置文件config内容如下 ID=123 IP=192.168.3.154 Name=test 方法一,利用sed解析文本,提取配置信息 id=`sed '/^ID=/!d;s/.*=//' urfile` ip=`sed '/^IP=/!d;s/.*=//' urfile` nam

linux_用户角度的shell配置文件

站在用户角度来看shell的类型:  登陆式shell:       正常通过某终端登陆       su - username       su -l username    非登陆式shell:       su username       图形终端下打开命令窗口       自动执行的shell脚本 用户登录时,对用户环境产生影响的bash配置文件:    全局配置: /etc/profile,/etc/bashrc,/etc/profile.d/*.sh    个人配置: ~/.bas