我正在制作一个小脚本,我想先得到以下变量,最后在sed命令中替换变量'a',但我不知道如何使用'$',以便使用' a'作为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
但最后一种方法都有效。
答案 0 :(得分:1)
单引号中的变量按字面处理,因此不会被扩展。
使用双引号:
sed -i "s#DESSENDER=$sendr#$a#g" inbound.sh