我正在尝试从.sh
文件修改配置文件demo.cfg
。我可以使用sed
对其进行修改,但问题是该值包含斜线字符。如何用斜杠修改配置参数值
对于我使用这个代码:
read -r -p "(Default PATH: /my/default/path/): " response
case $response in
(*[![:blank:]]*) sed -i '/key_one/s/= ''.*/= '$response'/' demo.cfg; echo 'OK';;
(*) echo 'Using default path'
esac
在这里的错误当变量$response
有斜线:
sed: -e expression #1, char 20: unknown option to "s"
我能花葶这个变量与SED功能使用?
这里demo.cfg
文件
[params]
key_one = 1
key_two = 9
在先进的感谢 问候
你究竟发布了什么?我更新了答案。 – nautical
我正在使用这个:'echo $ response; sed -i'/ key_one/s/=''。*/='echo $ {response // \ // \\ /}'/'demo。cfg;'但它失败:'坏代换' – oscarvady
'echo'只是为了演示bash中的行为。脚本内部不需要'echo'。只需'$ {response // \ // \\ /}就足够了。 – nautical