-1
所以我建立了一個超級簡單的腳本,允許我搜索所有相對於腳本運行的目錄,它將找到第一個參數並將其替換爲第二個參數:用文件參數的bash腳本的奇怪行爲
#!/usr/local/bin/bash -f
word_to_look_for=$1
substitue=$2
find ./ type f -exec sed -i "" "s/$word_to_look_for/$substitute/g" {} \;
echo "Replaced ($word_to_look_for) with ($substitue)"
出於某種原因,雖然,這一點 - >"s/$word_to_look_for/$substitute/g"
只會爲s/wordImlookingfor//g
和結果的sed將與空的文本替換它,得到這個像預期的那樣我改劇本的工作輸出如下:
sed_arg="s/$word_to_look_for"
sed_arg="$sed_arg/$substitue/g"
find ./ type f -exec sed -i "" "$sed_arg" {} \;
echo "Replaced ($word_to_look_for) with ($substitue)"
我只是想知道,爲什麼bash不像我在第一個版本中那樣?
哇,多數民衆贊成在...尷尬...感謝雖然。 – Thermatix