2016-07-06 7 views
1

ich programmatisch genau diese Zeichenfolge in CRON schreiben müssen, aber wenn ich tun:Wie genau diese Zeichenfolge Echo von Sonderzeichen enthält

echo "*/2 * * * * for i in `docker ps -a| grep -v Up | awk '{print $NF}'`; do ~/./check_service.sh $i; done >/dev/null 2>&1" >> mycron 

Ich habe:

neo4j; do ~/./check_service.sh neo4j; done >/dev/null 2>&1 

So wie kann ich entkomme all diese Sonderzeichen und verhindere, dass das Skript ausgeführt wird.

Antwort

3

Verwenden Sie einfache Anführungszeichen, um eine Bash/Shell-Erweiterung/-Bewertung zu verhindern. Sie müssen auch die einfachen Anführungszeichen um das awk Skript wie unten entkommen.

$ echo '*/2 * * * * for i in `docker ps -a| grep -v Up | awk '\''{print $NF}'\''`; do ~/./check_service.sh $i; done >/dev/null 2>&1' >> mycron 
+0

Vielen Dank, funktioniert perfekt, wird die Antwort akzeptieren, wenn erlaubt – Casper

Verwandte Themen