从配置文件中导入变量到bash脚本

4

我希望能够从config.cfg文件中导入变量,例如用户名、密码和主机名,以便在bash脚本文件script.sh中使用它们。

user = ""
password = ""
host = ""

我该如何做,才能在script.sh文件中使用在config.cfg文件中设置的凭据来执行以下脚本:

mysqldump --user="$user" --password="$password" --host="$host" $db $tabl > "./backups/$db/$db-$tabl-$time"
2个回答

6

请在您的配置文件中去除=符号周围的空格,从脚本中引用它,并使用定义的 shell 变量:

source config.cfg
echo "$user"

3

你需要执行源代码。在中,你可以使用source.命令来执行源代码,它们是等效的。例如:

source config.cfg

或者
. config.cfg

编辑:

正如其他答案所指出的那样,您需要去掉=周围的空格,以使您的config.cfgbash中正常工作。


只是重申一下,命令需要是 bash <scriptname.sh>,而不是 sh <scriptname.sh>。感谢您指出这一点! - JustinP

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接