[英]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.