コマンドラインから複数行のテキストを表示するgrowlnotify
にはどうすればよいですか?
Slash-n ---\n
このように機能しないようです:
growlnotify -t title -m "messageline1\nmessage2"
メッセージが届きますmessageline1\nmessage2
コマンドラインから複数行のテキストを表示するgrowlnotify
にはどうすればよいですか?
Slash-n ---\n
このように機能しないようです:
growlnotify -t title -m "messageline1\nmessage2"
メッセージが届きますmessageline1\nmessage2
意図されたエスケープされた改行は、うなり声によってそのように解釈されません-それは文字通りのスラッシュとして扱われ、その後に「en」が続きます。
この方法で、シェルに文字列に改行を挿入させることができます。
growlnotify -t title -m "messageline1"$'\n'"message2"
(例)Unixコマンドshを参照してください。
$'string'の形式の単語は特別に扱われます。単語は文字列に展開され、バックスラッシュでエスケープされた文字がANSIC標準で指定されているように置き換えられます。
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"