[英]crazy issue to display 2 variables in echo with bash/shell
我对 shell/bash 脚本有一个愚蠢的问题。 我有一个定义了 2 个变量的配置文件......请参阅下面我的名为test.conf 的文件:
WEB_DIR="www"
TPL_DIR="tpl"
现在我有一个名为test.sh 的shell/bash 脚本,其中包含以下内容:
#!/bin/bash
source test.conf
echo $WEB_DIR
echo $TPL_DIR
echo -e "$WEB_DIR - $TPL_DIR"
exit 0
如您所见,这非常简单,因为这种脚本应该返回:
www
tpl
www - tpl
但是,我不知道为什么,当我启动这个脚本时,他返回:
www
tpl
- tpl
我们可以看到第一个变量$WEB_DIR丢失了,我不知道为什么,因为她被定义了。
你知道为什么吗?
谢谢L。
test.conf
有 DOS 行结尾,所以每个变量的值都以回车结束。 相比:
$ WEB_DIR=$'www\r'
$ TPL_DIR=$'tpl\r'
$ echo -e "$WEB_DIR - $TPL_DIR"
- tpl
WEB_DIR
末尾的WEB_DIR
是通过将光标移动到行WEB_DIR
来“显示”的,这样- tpl
覆盖了www
。
使用dos2unix
删除 DOS 行结尾,或使用文本编辑器使用 Unix 行结尾保存文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.