shell 读取ini格式的config文件

2021-02-24  本文已影响0人  v5物质的量

需求: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 对应的值。

上一篇 下一篇

猜你喜欢

热点阅读