我的.sh将配置值视为命令

时间:2018-08-09 09:35:31

标签: bash shell

我尝试在.sh文件中使用配置文件的值,但似乎将其视为命令。

这是我的 test_config.sh

source pathTo/config.cnf
echo "Name=$user"
echo "Surname=$host"

config.cnf

[client]
user = root
password = pwd
host = localhost

出现的错误是:

 $ ./test_config.sh
  

config.cnf:第1行:用户:找不到命令
     config.cnf:第2行:密码:找不到命令
     config.cnf:第3行:主机:找不到命令

1 个答案:

答案 0 :(得分:0)

source是bash shell内置命令,用于在当前shell中执行作为参数传递的文件的内容。它的缩写为.(句号)。

这意味着pathTo/config.cnf作为bash脚本执行。

您可以将配置文件重写为Shell脚本

# client
user=root
password=pwd
host=localhost

然后获取它