读取配置文件的shell脚本实现

来源:本站
导读:目前正在解读《读取配置文件的shell脚本实现》的相关信息,《读取配置文件的shell脚本实现》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《读取配置文件的shell脚本实现》的详细说明。
简介:最近,在从事开发工作的过程中,遇到了一个需求:用shell脚本实现对配置文件的读取,并将读取到的配置项写入到新的文件中。为了完成该需求,我们考虑使用awk命令,该命令把文件中的内容逐行的读入,按照特定的规则对每行记录进行处理。

例如,我们要从文件Config.ini(位于当前用户的etc目录下)中获取各个配置项的值,并将之写入到NetworkInfo.txt文件中。其中,Config.ini文件的内容如下:

[network]; ip of databaseip=10.10.10.10; port of databaseport=9999

我们编写如下的shell脚本GetDatabaseConfig.sh:

#!/bin/kshCFG_FILE=$HOME/etc/Config.iniIP=` awk '$1~/[.*/{_cdr_par_=0}         $0 ~ /^ *[ *network *]/ {_cdr_par_=1}         $0~/^[11 ]*ip *=.*/ { if(_cdr_par_==1) { sub("="," "); print $2; exit 0} }         ' ${CFG_FILE}`PORT=` awk '$1~/[.*/{_cdr_par_=0}          $0 ~ /^ *[ *network *]/ {_cdr_par_=1}         $0~/^[11 ]*port *=.*/ { if(_cdr_par_==1) { sub("="," "); print $2; exit 0} }         ' ${CFG_FILE}`main(){    echo "ip =" $IP    echo "port =" $PORT    echo "[network]" >> NetworkInfo.txt    echo "ip=$IP" >> NetworkInfo.txt    echo "port=$PORT" >> NetworkInfo.txt    echo "finish !!!!!!!!!!!"}## Execute main functionmain $*

将该脚本上传到Linux机器上,并使用“chmod 777 GetDatabaseConfig.sh”修改该脚本的权限,然后运行“./GetDatabaseConfig.sh”命令,结果如下:

ip = 10.10.10.10port = 9999finish !!!!!!!!!!!

同时,可以看到在当前目录下生成了NetworkInfo.txt文件,其内容为:

[network]ip=10.10.10.10port=9999

提醒:《读取配置文件的shell脚本实现》最后刷新时间 2024-03-14 01:02:03,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《读取配置文件的shell脚本实现》该内容的真实性请自行鉴别。