2016-05-13 1 views
2

Je voudrais savoir s'il y a des façons d'exécuter le script au format heredoc en arrière-plan?Exécuter un script formaté heredoc sur fond?

#!/bin/bash 

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

echo "Hello" 

Je sais que je peux l'écrire dans un fichier, puis exécutez comme python foo.py & mais ce n'est pas le point de la question.

Répondre

3

Il suffit de coller votre & en haut, ce qui n'est pas du tout intuitif, mais ... les heredocs non plus.

#!/bin/bash 

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

echo "Hello" 

Vous pouvez également rediriger là aussi:

#!/bin/bash 

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

echo "Hello" 
+0

génial, merci – Vor

+2

Il vous suffit de garder à l'esprit que le document en ne démarre pas vraiment jusqu'à ce que la ligne suivante, pas immédiatement après la '' EOF'. – chepner