使用 bash 脚本替换配置文件变量



我试图将一个值附加到 ssh 配置文件中,但如果指定两个不同的值,它似乎不起作用,它会读取第一个而不是第二个。

与其

尝试重写整个文件,不如修改值,这似乎是明智的。

当前值为:

Port 22

我想进入并将值更改为:

Port 222

我能想到的最好的是:

sed -c -i "s/(Port *= *).*/1$REPLACEMENT_VALUE/" /etc/ssh/sshd_config

但是我知道这是不正确的,因为它的工作方式是期望在值和变量之间有一个等号。

我需要脚本来做这样的事情:

  • 查找变量(即端口)
  • 用我自己的线路切换这条线

我想你的意思是这个,

sed 's/.*bPortb.*/REPLACEMENT_VALUE/' file

例:

$ REPLACEMENT_VALUE="Port 222"
$ echo -e "foonPort 22" | sed "s/.*bPortb.*/$REPLACEMENT_VALUE/"
foo
Port 222

相关内容

  • 没有找到相关文章

最新更新