2016-03-16 85 views
1

我正在製作一個小腳本,並且我想首先獲得以下變量來最終替換sed命令中的變量'a',但我不知道如何去查看'$',以便使用'a' '作爲sed命令中的一個變量,我試圖用'\'和雙引號來描述它,但它不起作用,我會很感激任何建議。我如何逃避一個變量與sed一起使用?

#!/bin/bash 
a=$(grep DESSENDER regress.sh) 
echo $a 
sed -i 's#DESSENDER="$sendr"#$a#g' inbound.sh 
cat inbound.sh 

我試着用

sed -i 's#DESSENDER="$sendr"#\$a#g' inbound.sh 

sed -i 's#DESSENDER="$sendr"#"$a"#g' inbound.sh 

但任何過去的做法的工作。

回答

1

字面上處理單引號內的變量,因此不會被展開。

使用雙引號:

sed -i "s#DESSENDER=$sendr#$a#g" inbound.sh 
+0

這種解決方案的問題是,我要替換此字符串DESSENDER =「$ sendr」變量$ a的值,因爲這個原因,我想只是逃避$符號。 – neo33

+0

@ user138717給出一個示例輸入和你想要的輸出.. – heemayl

+0

好吧,我會編輯我的問題,我會添加一個例子。 – neo33

相關問題