我有一個變量var =「abcde $$$$$$$$ fff $$ gg」。我想,以取代空間「」所有$但下面的看跌期權只有一個空間shell腳本變量替換字符
var=$(echo "$var" | tr '$' ' ')
我怎麼能全部更換?
我有一個變量var =「abcde $$$$$$$$ fff $$ gg」。我想,以取代空間「」所有$但下面的看跌期權只有一個空間shell腳本變量替換字符
var=$(echo "$var" | tr '$' ' ')
我怎麼能全部更換?
適合我。你需要使用單引號或轉義的美元符號,否則他們是從雙引號字符串中刪除:
echo 'abcde$$$$$$$$fff$$gg' | tr '$' ' '
abcde fff gg
echo "abcde\$\$\$\$\$\$\$\$fff\$\$gg" | tr '$' ' '
abcde fff gg
echo abcde\$\$\$\$\$\$\$\$fff\$\$gg | tr '$' ' '
abcde fff gg
echo $'abcde$$$$$$$$fff$$gg' | tr '$' ' '
abcde fff gg
您無需調用外部命令(使用bash)
$ var='abcde$$$$$$$$fff$$gg'
$ echo "${var//$/ }"
abcde fff gg
更換請注意,您應該使用單引號,以便「$」符號不會被內插
老問題,但我爲他們寫了這個hwo會在用搜索引擎搜索引擎搜索後來到這裏您必須使用這樣的echo -e
var="$(echo -e "$var" | tr '$' ' ' )"
我把文件中的值讀入var。那麼它就像var =''或var =「」? – thetux4 2011-04-29 14:29:22
如果您已經讀取了文件中的值,那麼'var ='''或var =「」'是無關緊要的。當你從文件讀取行時使用的變量就像'var'。所以只要'echo「$ {whatever_variable_you_used // $ /}」' – ghostdog74 2011-04-29 14:47:03