使用growlnotify如何从命令行显示多行文本?
像这样的斜杠-n- \n -似乎不起作用:
growlnotify -t title -m "messageline1\nmessage2"我刚收到一条消息messageline1\nmessage2
发布于 2011-11-15 07:28:53
预期的转义换行符不会被growl解释为这样-它只是被视为文字斜杠,后面跟着一个'en‘。
您可以通过以下方式让shell在字符串中插入一个换行符:
growlnotify -t title -m "messageline1"$'\n'"message2"参见(例如)
$‘
’形式的字符串单词会被特殊处理。该单词将扩展为字符串,并按照ANSI标准的指定替换反斜杠转义字符。
发布于 2012-07-12 21:15:51
我发现在脚本中使用一个小函数和echo的-e选项更容易,可读性也更好:
mynotify () {
for m in "$@"; do
local msg="$msg\n$m"
done
echo -e "$msg" | growlnotify -t "My Title"
}
mynotify "This is line 1" "Line 2" "The 3d line ends with an extra newline\n" "Line 4"https://stackoverflow.com/questions/8122329
复制相似问题