2016-05-13 11 views
2

Ich würde gerne wissen, ob es Möglichkeiten gibt, das Skript im heredoc-Format auf dem Hintergrund auszuführen?Heredoc-formatiertes Skript im Hintergrund ausführen?

#!/bin/bash 

python <<EOF 
import time 
time.sleep(2) 
print "AAA" 
EOF # placing "&" here doesn't work 

echo "Hello" 

Ich weiß, dass ich es in eine Datei schreiben kann und es dann laufen wie python foo.py & aber das ist nicht der Punkt, der Frage.

Antwort

3

Stecken Sie einfach Ihre & an der Spitze, die völlig nicht intuitiv ist, aber ... sind auch nicht heredocs.

#!/bin/bash 

python <<EOF & 
import time 
time.sleep(2) 
print "AAA" 
EOF 

echo "Hello" 

Sie können auch dort umleiten oben:

#!/bin/bash 

python <<EOF > /some/file & 
import time 
time.sleep(2) 
print "AAA" 
EOF 

echo "Hello" 
+0

fantastisch, dank – Vor

+2

Sie müssen nur daran denken, dass das hier Dokument tatsächlich nicht bis zur nächsten Zeile beginnen, nicht unmittelbar nach der '<< EOF'. – chepner

Verwandte Themen