2016-07-07 13 views
1

Funktioniert auf Terminal aber nicht, wenn ich es zu einem ansible Skript hinzufüge.Ansible: Befehl funktioniert in Terminal aber nicht Ansible

Ich habe versucht, ursprünglich:

shell: cd Users/Virtual |awk 'FNR==1{print ""}{print}' *.txt > virtual.txt | mv virtual.txt virtual.csv 

Es hat nicht funktioniert. Versucht der Text und es kann die Datei nicht

- command: chdir=/Users/Virtual awk 'FNR==1{print ""}{print}' *.txt > virtual.txt  
    - shell: "awk 'FNR==1{print ''}{print}' *.txt > virtual.txt" 
    - shell: "mv virtual.txt /Users/virtual.csv" 

Antwort

1

Kein sicher finden, warum Sie Rohr versuchen, die Ausgabe von einem Befehl zum anderen ...
Sie in der Regel wollen && oder || verwenden, um mehrere Befehle ausführen eine nach Ein weiterer.
Versuchen Sie dieses:

- hosts: localhost 
    tasks: 
    - shell: "awk 'FNR==1{print \"\"}{print}' *.txt > virtual.txt && mv virtual.txt virtual.csv" 
     args: 
     chdir: /Users/Virtual 
+0

es funktioniert Dank! – ehuck