我想連接兩個字符串從用戶輸入。這些是「要尋找的東西」和「要替換的東西」。它最終將成爲構建過程的一部分。我似乎無法得到正確連接的變量。這裏的腳本:Bash腳本不連接字符串
#!/bin/bash
first=${1}
second=${2}
TO_REPLACE="Hello Kitties=$first"
REPLACEMENT="Hello Kitties=$second"
echo $TO_REPLACE
echo "s/${TO_REPLACE}/${REPLACEMENT}/g"
sed -i "s/${TO_REPLACE}/${REPLACEMENT}/g" "C:\\Test\\Mah.config"
我把回聲在那裏與first
和second
變量來解決一起。我得到的結果是這樣的:
[email protected] ~
$ bash C:\\Users\\mrhoden\\workspace\\Test\\Concatenation.sh Yes No
Hello Kitties=Yes
/gello Kitties=Noes
我不明白爲什麼第一個工作正常,但不是第二個。我甚至考慮過/
,但是當我用l
或任何其他角色替換它時,我獲得的結果基本相同。我嘗試過將變量分組和變量的各種方式。我甚至使用ShellEdge插件下載和使用eclipse,以防Windows和基於Unix的編輯器(之前的Notepad ++)之間出現一些奇怪的交互。
我很茫然,任何幫助將不勝感激。
似乎來自MSWin行結尾的'$'\ r''進入了一個字符串。 – choroba 2015-01-15 15:32:25
'dos2unix文件'。祝你好運。 – shellter 2015-01-15 15:49:12