2016-11-30 1 views
1

Je souhaite envoyer une notification AWS SNS via un script shell dans EC2. Ce qui suit est ma commande:Ajout d'un saut de ligne au message AWS SNS dans un script shell

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})" 

Mon problème est que je ne sais pas comment puis-je insérer un saut de ligne avant d'imprimer le contenu du fichier en utilisant la commande « cat »? Je veux imprimer le contenu du fichier après une nouvelle ligne. Maintenant, il est ajouté à "The file contents of ...". Comment ajouter un retour à la ligne dans le paramètre --message

Comment ajouter une nouvelle ligne dans le paramètre --message?

Répondre

3

Insérer le caractère retour ligne

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

Dans Bash/ksh93/zsh:

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

En utilisant printf:

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

Merci beaucoup Ruslan ... les solutions ont été utiles & le problème a été résolu – Akki