如何从命令行参数为bash脚本加载不同的配置?

时间:2018-09-19 15:37:21

标签: bash

所以我试图根据命令行中的参数读取不同的配置。

例如,如果命令像这样;

./app.sh command1

然后读取系统中的. ~/config/config1.conf文件。

如果命令是这样的

./app.sh command2

然后读取. ~/config/config2.conf文件。

所以这会有所帮助,例如config1.conf具有var=var1,而config2.conf具有var=var2,因此这将允许我加载具有相同变量名的不同配置,但值不同。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

只需使用case语句来选择所需的配置。

case $1 in
  command1) cfg=config1 ;;
  command2) cfg=config2 ;;
esac

cfg_file=~/config/"$cfg.conf"
if [ -f "$cfg_file" ]; then
  . "$cfg_file"
fi