【问题标题】:sed: -e expression #1, char 102: unknown option to `s'sed:-e 表达式 #1,字符 102:“s\”的未知选项
【发布时间】:2022-12-28 19:23:36
【问题描述】:

您好,目前我有这个 bash 脚本,但它使用 sed 命令返回错误(sed:-e 表达式 #1,字符 102:`s' 的未知选项)。

有谁知道如何解决这一问题。任何帮助将不胜感激! 谢谢你。

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

我试图将双引号更改为单引号,但没有用

【问题讨论】:

    标签: linux bash shell


    【解决方案1】:

    您将斜杠作为分隔符,在 https:// 中使用斜杠,sed 认为它们是分隔符。

    只需使用不同的字符作为分隔符,例如 ~。

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

    【讨论】:

      猜你喜欢
      • 2014-04-06
      • 2020-11-25
      • 2018-04-25
      • 2021-02-07
      • 2013-03-08
      • 2018-03-11
      • 2016-08-16
      • 1970-01-01
      • 2021-06-26
      相关资源
      最近更新 更多