【发布时间】:2016-04-10 21:51:48
【问题描述】:
我在配置文件中使用 sed 进行字符串替换。
用户必须输入字符串salt,然后我在配置文件中替换这个salt字符串:
Sample config file myconfig.conf
CONFIG_SALT_VALUE=SOME_DUMMY_VALUE
我使用该命令将虚拟值替换为用户输入的值salt。
sed -i s/^CONFIG_SALT_VALUE.*/CONFIG_SALT_VALUE=$salt/g" ./myconfig.conf
问题:$salt 的值可以包含任何字符,所以如果$salt 包含/(如12d/dfs),那么我上面的 sed 命令会中断。
我可以将分隔符更改为!,但现在如果$salt 包含amgh!fhf,那么我的 sed 命令将中断。
我应该如何处理这个问题?
【问题讨论】: