[英]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.