2011-07-19 52 views

回答

60

試試這個:

website=$(sed 's|/|\\/|g' <<< $website) 

擊居然還支持這種替代natively的:

${parameter/pattern/string} - 與string取代pattern的第一場比賽。
${parameter//pattern/string} - 將pattern的所有匹配項替換爲string

因此,你可以這樣做:

website=${website//\//\\/} 
+0

本機版本並沒有爲我帶大的可變內容'命令來長工作:' – Artistan

8
echo $website | sed 's/\//\\\//g' 

,或者更好的可讀性:

echo $website | sed 's|/|\\/|g' 
+0

它運作良好。請你介意解釋這是/ \ // \\\ // g' 和這個|/| \\/| g'? –

+1

'searchreplacecommand | source | target | global(all matches)'你可以在其中使用任何字符作爲分隔符('|')。傳統上'/'用於分隔符 –

+0

然而當我使用「」和變量。它不插入任何東西。你能弄清楚原因嗎?謝謝 –