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

时间:2018-01-05 15:37:34

标签: linux string bash logging

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

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

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

line="-retries"

然后logger失败并显示错误:

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 个答案:

答案 0 :(得分:6)

双连字符总是很好用:

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

来自man logger

  

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