繁体   English   中英

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

[英]Replace config file variables using bash script

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

似乎明智的是,不要修改整个文件,而只是修改值。

当前值是:

Port 22

我想将值更改为:

Port 222

我能想到的最好的方法是:

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

但是我知道这是不对的,因为它以一种期望值和变量之间具有等号的方式工作。

我需要脚本来执行以下操作:

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

我想你是说这个

sed 's/.*\bPort\b.*/REPLACEMENT_VALUE/' file

例:

$ REPLACEMENT_VALUE="Port 222"
$ echo -e "foo\nPort 22" | sed "s/.*\bPort\b.*/$REPLACEMENT_VALUE/"
foo
Port 222

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM