linux sed:-e表达式#1,字符102:'s'的未知选项[重复]

jyztefdp  于 2022-12-29  发布在  Linux
关注(0)|答案(1)|浏览(262)
    • 此问题在此处已有答案**:

Using different delimiters in sed commands and range addresses(3个答案)
7小时前关闭。
我有这个Bash脚本,但它返回了sed命令(sed: -e expression #1, char 102: unknown option tos'`)错误。
有人知道怎么修吗?

vhostConfig=$(cat "/etc/apache2/sites-available/$serverName.conf")
vhostConfig=$(echo "$vhostConfig" | sed "s/<VirtualHost \*:80>/<VirtualHost *:80>\nRewriteEngine On\nRewriteCond %{HTTPS} !=on\nRewriteRule ^/?(.*) https:\/\/$serverName\/ [R,L]/")

我试着把双引号改成单引号,但没有用。

vatpfxk5

vatpfxk51#

斜线作为分隔符,而sed认为https://中的斜线是分隔符。
只要用不同的字符作为分隔符,如~.

sed "s~<VirtualHost *:80>~<VirtualHost :80>\nRewriteEngine On\nRewriteCond %{HTTPS} !=on\nRewriteRule ^/?(.) https://$serverName/ [R,L]~"

相关问题