gpt4 book ai didi

linux - Bash "source"命令返回错误的连接字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:00:33 24 4
gpt4 key购买 nike

我有一个这样的配置文件:

//filename : stat.conf
LAS_SERVER="127.0.0.1"
LAS_PORT=3306
LAS_USER=root
LAS_PWD=root
LAS_DB=test
CONN_STR_LAS_DB="-h$LAS_SERVER -P$LAS_PORT -u$LAS_USER -p$LAS_PWD $LAS_DB"

现在我像这样运行 source 命令:

$ source ./stat.conf

$ echo $CONN_STR_LAS_DB
testot.0.1

可以看到结果是错误的。出乎我们的意料。

相比之下,如果我像这样在 shell 中运行命令,我可以获得正确的结果:

$ LAS_SERVER="127.0.0.1"
$ LAS_PORT=3306
$ LAS_USER=root
$ LAS_PWD=root
$ LAS_DB=test
$ CONN_STR_LAS_DB="-h$LAS_SERVER -P$LAS_PORT -u$LAS_USER -p$LAS_PWD $LAS_DB"
$ echo $CONN_STR_LAS_DB
-h127.0.0.1 -P3306 -uroot -proot test

这是正确的结果。

所以,我的问题是:为什么我在使用“source ./stat.conf”时得到了错误的结果?

我在另一台电脑上测试了同样的操作,可以得到正确的结果。我在计算机上配置时是否遗漏了什么?

我的操作系统是 CentOS 5。

最佳答案

您的配置文件具有 Windows 样式的行结尾 (\r\n),而不是 Unix 样式(只是\n)。你可以使用 dos2unix 命令来转换它。然后,切换到不会创建具有奇怪行尾的文件的文本编辑器。

关于linux - Bash "source"命令返回错误的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com