我試圖從一個函數使用sed的參數如下。 如果找到'a',則在'a'之前插入#然後將'a'附加到下一行。 parama與paramb具有相同的內容,但我不明白爲什麼帶paramb的sed命令失敗。 它似乎從函數返回的換行符被修剪? 錯誤消息是「sed:-e表達式#1,字符6:未終止的'命令」來自函數的sed參數?
請幫忙,謝謝。
parama="-e s/a/#&\n&/g"
echo "a" | sed $parama
test(){
echo "-e s/a/#&\n&/g"
}
paramb=$(test)
echo "a" | sed $paramb
因爲它是一個保留字,所以你不能在'bash'中像這樣定義一個叫'function'的函數。 – chepner 2013-03-26 17:11:44