从shell脚本中读取配置文件

zen*_*zic 12 shell config

我正在寻找类似于Pythons的ConfigParser或Perl的Config :: INI之类的shell脚本.我过去有源文件来完成这个,但我更喜欢阅读而不是执行我的"配置文件".有没有人知道任何可用于shell(或bash)脚本的上述模块?

谢谢,杰里

jm6*_*666 12

你不想要它,所以你应该:

1.读取配置,2.验证行3.eval他们

CONFIGFILE="/path/to/config"
echo "=$ADMIN= =$TODO= =$FILE=" #these variables are not defined here
eval $(sed '/:/!d;/^ *#/d;s/:/ /;' < "$CONFIGFILE" | while read -r key val
do
    #verify here
    #...
    str="$key='$val'"
    echo "$str"
done)
echo =$ADMIN= =$TODO= =$FILE= #here are defined
Run Code Online (Sandbox Code Playgroud)

配置文件样本

ADMIN: root
TODO: delete

var=badly_formtatted_line_without_colon

#comment
FILE: /path/to/file
Run Code Online (Sandbox Code Playgroud)

如果你运行上面的样本应该得到(未测试):

== == ==
=root= =delete= =/path/to/file=
Run Code Online (Sandbox Code Playgroud)

确定这不是最好的解决方案 - 也许有人发布更好的解决方案.


小智 5

您可能想看看cfget哪些可以使用sudo apt-get install cfget.

  • 如果您有权在系统上安装它,那将是一个非常有用的工具。 (3认同)