代码之家  ›  专栏  ›  技术社区  ›  Fazlin

如果字符串有连字符,记录器将失败

  •  1
  • Fazlin  · 技术社区  · 7 年前

    我正在尝试使用 logger 从我的脚本中记录消息。我使用 记录器 如下所示:

    logger -p auth.notice -t "TEST" "$line"
    

    如果 $line 有一些带连字符的字符串,例如:

    line="-retries"
    

    然后 记录器 失败并出现错误:

    logger: invalid option -- r
    usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]
    

    请帮我摆脱这个错误。我也尝试过:

    logger -p auth.notice -t "TEST" "$(echo $line)"
    
    1 回复  |  直到 7 年前
        1
  •  6
  •   iBug    7 年前

    双连字符始终工作正常:

    logger -p auth.notice -t "TEST" -- "$line"
                                    ^^
    

    从…起 man logger :

    -- 结束参数列表。这允许消息以连字符开头( - ).