美文网首页
shell 读取ini格式的config文件

shell 读取ini格式的config文件

作者: v5物质的量 | 来源:发表于2021-02-24 17:34 被阅读0次

需求:shell脚本有时需要读配置文件中的变量,python 和perl都有相应的模块,很方便读取,现在记录一下shell的读取方法


ini 格式

config.ini

[bin]

python=/share/public/software/Onc_Soft/python/2.7.14/bin/python


shell脚本读取config.ini

test.sh

#获取当前目录

BASEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

#获取conf.ini,假设config.ini在config/config.ini

BASEDIR=${BASEDIR%%config*}

config=$BASEDIR/config.ini

#写个函数

# __readINI [配置文件路径+名称] [节点名] [键值]

function __readINI() {

      INIFILE=$1

      SECTION=$2

      ITEM=$3

      _readIni=`awk -F '=' '/\['$SECTION'\]/{a=1}a==1&&$1~/^\s?'$ITEM'\s?$/&&$1!~/\s?#/{print $2;exit}' $INIFILE`

      echo ${_readIni}

    }

    # 获取python路径

    python=( $( __readINI $config bin python ) )


参考https://www.jb51.net/article/60854.htm

参考的例子中,不能在前面加#注释,键是模糊匹配,读取第一个模糊匹配上的,比如python前面有 #python,就会直接用 #python 对应的值。

相关文章

网友评论

      本文标题:shell 读取ini格式的config文件

      本文链接:https://www.haomeiwen.com/subject/dwwsfltx.html