2016-11-30 1 views
1

Ich möchte AWS SNS-Benachrichtigung über Shell-Skript in EC2 senden. Im Folgenden ist mein Befehl:Hinzufügen einer neuen Zeile zu AWS SNS-Nachricht in einem Shell-Skript

aws sns publish --topic-arn arn:aws:sns:x:x:x \ 
    --region=$AWS_DEFAULT_REGION \ 
    --subject "Processing Error - ${tablename}" \ 
    --message "An error has occurred in API data processing. The error file ${error_file} has been written to the errors folder...The file contents of ${error_file} are : $(cat ${error_file})" 

Mein Problem ist, dass ich weiß nicht, wie kann ich eine neue Zeile einzufügen, bevor ich den Inhalt der Datei drucken „cat“ Befehl? Ich möchte den Inhalt der Datei nach einem Zeilenumbruch drucken. Jetzt wird es an "The file contents of ..." angehängt.

Wie füge ich dem Parameter --message einen Zeilenvorschub hinzu?

Antwort

3

die wörtliche Newline-Zeichen einfügen

aws sns publish --message="... 
$(cat ${error_file})" # other options 

In Bash/ksh93/Zsh:

aws sns publish --message="..."$'\n'"$(cat ${error_file})" \ 
    # other options 

Mit printf:

aws sns publish --message="$(printf "%s\n%s" "..." "$(cat ${error_file})")" \ 
    # other options 
+0

Vielen Dank Ruslan ... die Lösungen waren hilfreich & das Problem wurde gelöst – Akki

Verwandte Themen