アクションのデフォルトのメッセージ部分の改行文字について
Zabbix 2.2.10
CentOS6.9
カスタムメディアで以下の内容のスクリプトを実行させRedmineにチケット登録させようとしています。
アクションのデフォルトのメッセージ部分が改行を含んでいなければチケット登録できるのですが、改行を含んでいると登録できませんでした。
※$result の内容をログに書いても空白でした。
質問なのですが、デフォルトのメッセージに含まれている改行文字は何なのでしょうか。
sedで¥n、¥r¥n、¥rを別文字に置き換えようとしたのですが3つとも置き換えられなかった為、お分かりになられる方がいらっしゃったらご教授いただきたく質問させていただきました。
~~~~~
#!/bin/bash
#引数の順番 通知先 デフォルトの件名 デフォルトのメッセージ
redmine_url="$1"
subject="$2"
description="$3"
VAR=`echo -e "${description}" | sed -e 's/\n/hoge/g'`
result=`/usr/bin/curl -v -H "Content-Type: application/json" -X POST -H "X-Redmine-API-Key: xxx" --data "{\"issue\": {\"description\": \"${VAR}\",\"project_id\": \"test\",\"subject\": \"${subject}\",\"priority_id\": 3}}" $redmine_url`
~~~~~
heya - 投稿数: 319
sed だと改行を置換するのは(できないことはないけど)面倒なので、代わりに tr '\n' 'hoge' とか perl -pe 's/\n/hoge/g' とかを使うといいみたいです。
http://unicus.jp/skmk/archives/315
kasugai - 投稿数: 72
heya 様
ご回答いただきありがとうございます。
trコマンドも組み合わせることで何とか動作するようになりました。大変助かりました。