Frage zu Zeilenumbrüchen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Frage zu Zeilenumbrüchen

Beitrag von minimike » 30.10.2014 11:49:21

Hi

Ich habe mir für Icinga2 etwas in Groovy gebastelt das mit einer API über HTML eine SMS verschicken kann.

Code: Alles auswählen

#!/usr/bin/env bash

/etc/icinga2/scripts/sms4any-sms.sh $PAGER "$NOTIFICATIONTYPE - $HOSTDISPLAYNAME with IP $HOSTADDRESS - $SERVICEDISPLAYNAME is $SERVICESTATE - $LONGDATETIME"
Wobei $PAGER als erstes Argument die Telefonnummer ist und der Rest als zweites Argument den Text ausgibt der als SMS verschickt werden soll. Das wird zur Zeit als eine Zeile geparst. Wie bekomme ich da geschickt Zeilenumbrüche rein? Ich dachte dabei das es am Ende so ausschauen soll.

Code: Alles auswählen

$NOTIFICATIONTYPE 
$HOSTDISPLAYNAME with IP $HOSTADDRESS 
$SERVICEDISPLAYNAME is $SERVICESTATE 
$LONGDATETIME
Danke ;)
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Frage zu Zeilenumbrüchen

Beitrag von minimike » 30.10.2014 12:18:55

Hmm mit
printf "%b" "\n NOTIFICATIONTYPE \n HOSTDISPLAYNAME \n with IP HOSTADDRESS \n SERVICEDISPLAYNAME \n SERVICESTATE \n LONGDATETIME"

Bekomme ich schon mal die Zeilenumbrüche hin. Aber der Text kommt dann ohne " " und wird dann mit mehr als ein Argument ausgewertet. Wie kann ich das hinbekommen?
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Benutzeravatar
minimike
Beiträge: 5616
Registriert: 26.03.2003 02:21:19
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: Köln
Kontaktdaten:

Re: Frage zu Zeilenumbrüchen

Beitrag von minimike » 30.10.2014 14:26:15

Habe es hinbekommen.

Code: Alles auswählen

#!/usr/bin/env bash

TEXT=$(printf "%b" "\n $NOTIFICATIONTYPE \n $HOSTDISPLAYNAME \n with IP $HOSTADDRESS \n $SERVICEDISPLAYNAME is \n $SERVICESTATE \n $LONGDATETIME \n $NOTIFICATIONAUTHORNAME \n $NOTIFICATIONCOMMENT")

/usr/local/etc/icinga2/scripts/sms4any-sms.sh $PAGER "$TEXT"
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft

Antworten