我有一个ini配置文件,我需要使用此配置创建一个shell脚本。什么是访问所有变量的最简单方法,可以从shell脚本中有效地使用。
我能用个数组吗?现在计划找到[]个括号的计数,然后通过awk逐个获取所有变量。如果有最简单有效的方法

cat app.ini

下面是我的示例配置文件的输出。可以是N个街区。
[APP1]
name=Application1
StatusScript=/home/status_APP1.sh
startScript=/home/start_APP1.sh
stopScript=/home/stop_APP1.sh
restartScript=/home/restart.APP1.sh
logdir=/log/APP1/

[APP2]
name=Application2
StatusScript=/home/status_APP2.sh
startScript=/home/start_APP2.sh
stopScript=/home/stop_APP2.sh
restartScript=/home/restart.APP2.sh
logdir=/log/APP2/
.
.
.
.
.
[APPN]
name=ApplicationN
StatusScript=/home/status_APPN.sh
startScript=/home/start_APPN.sh
stopScript=/home/stop_APPN.sh
restartScript=/home/restart.APPN.sh
logdir=/log/APPN

/

最佳答案

考虑使用bash ini parserhttps://github.com/albfan/bash-ini-parser这样的库。它包含了很多细微差别,如缩进、空白、注释等。
您的案例示例可能如下所示:

 #!/bin/bash

. bash-ini-parser

cfg_parser app.ini

cfg_section_APP1
echo $name

cfg_section_APP2
echo $logdir

cfg_section_APPN
echo $logdir

关于arrays - 从Shell脚本有效访问变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49063933/

10-16 18:50