替换为sed似乎什么都不做

时间:2014-12-27 19:57:37

标签: bash file var

我的脚本中有这段代码:

no_forward="#net.ipv4.ip_forward=1"
forward="net.ipv4.ip_forward=1"
sed -i 's/$no_forward/$forward/' /etc/sysctl.conf

基于手册页,-i后缀不是必需的,但是这个使用我将只修改文件而不是它们(文件修改和“备份”,前一个)。

我需要使用那些变量,因为我在那个命令之后需要它们所以让它们像那样有用。我想我的模式字符串应该是错的,但是现在我找不到原因。或者问题可能是var的字符串或它们的符号?

你能帮助我吗?我接受其他基于非sed的解决方案,如果他们使用bash并且不需要特殊命令,因为我需要在另一台计算机上使用该脚本而不再安装。

感谢您阅读

1 个答案:

答案 0 :(得分:1)

如果您希望能够在中使用变量,请使用双引号,以便:

sed -i "s/$no_forward/$forward/" /etc/sysctl.conf