如何将ls循环转换为不同的变量?

时间:2015-09-22 00:27:24

标签: bash centos init multiple-instances start-stop-daemon

让我重做我的问题:

好的,这里有新闻,但这是我要做的事情:

我正在尝试编写一个init脚本,它会提取不同的配置文件并将它们传递给不同的变量。 END结果是有一个init脚本,可以通过拉动不同的配置文件来启动应用程序的多个实例(redis)。

目录是

/etc/conf.d

及其中的文件是:

foo.conf
bar.conf

现在,我的功能就是:

dir=/etc/conf.d
configFiles='ls ${dir}/*'

for ((i=0, j=1; i< ${#configFiles[@]}; i++, j++)); do
   declare "conf$j"="${configFiles[$i]}"
done
echo $conf1
echo $conf2

conf1将打印为/etc/conf.d/foo.conf conf2将打印为&#34; &#34;那么&#34; /etc/conf.d/foo.conf"然后&#34; /etc/conf.d/foo.conf /etc/conf.d/bar.conf"

我需要conf2等于bar.conf但我还需要抽象命名约定,因为conf文件的名称可能会随着我们的部署方法而改变。

所以,最终的结果是将它放在一个函数中,并在init脚本中调用它来传递文件(例如/etc/init.d/program start foo / start bar)

谢谢。

0 个答案:

没有答案