我有一个名为“test.sh”的脚本
#!/bin/bash
echo "sed -i '/$1/c\$2' $3"
以./test.sh "This line is removed." "some text here" out.txt
身份运行。我希望打印完全:
sed -i '/This line is removed./c\some text here' out.txt
输出打印为:
sed -i '/This line is removed./c$2' out.txt
问题在于\$
打印$
不允许$2
的内容。怎么做?
答案 0 :(得分:2)
在脚本中使用双斜线:
#!/bin/bash
echo "sed -i '/$1/c\\$2' $3"
答案 1 :(得分:2)
试试这个
echo "sed -i '/$1/c\\$2' $3"