【发布时间】:2019-11-12 23:48:34
【问题描述】:
我正在尝试将一个文件中的值替换为另一个文件:
{ read -r val1
sed -i 's! nameserver .*; *$! nameserver '$val1';!;' testfile
} < /etc/resolv.conf
然后替换 nginx 配置中的名称服务器 IP:
server {
location {
resolver 1.2.3.4 valid=60s;
resolver_timeout 10s;
}
但是我从 sed 收到以下错误:
sed: -e expression #1, char 2: unterminateds'命令`
【问题讨论】:
-
testfile 中的示例数据是上面的 nginx 配置。是的,我正在尝试从 /etc/resolv.conf 读取值(IP)并替换解析器之后的任何值(在上面的示例中为 1.2.3.4)
-
@SynRomana 很多程序都可以访问 /etc/resolv.conf;我们需要在您的机器上查看它的结构才能正确回答这个问题。
-
@vintnes 我没有更改 /etc/resolv.conf 中的任何内容我正在从中读取内容,它始终包含包含
nameserver 1.2.3.4的行或行
标签: string bash text sed replace