2016-05-13 6 views
2

Хотелось бы узнать, есть ли способы запустить скрипт в формате heredoc на заднем плане?Запустить созданный скрипт heredoc на фоне?

#!/bin/bash 

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

echo "Hello" 

Я знаю, что я могу записать его в файл, а затем запустить его как python foo.py &, но это не суть вопроса.

ответ

3

Просто вставьте свой & наверху, что совершенно не интуитивно, но ... и не heredocs.

#!/bin/bash 

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

echo "Hello" 

Вы также можете переадресовать там тоже:

#!/bin/bash 

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

echo "Hello" 
+0

удивительным, благодаря – Vor

+2

Вы просто должны иметь в виду, что документ здесь не на самом деле не начинается до следующей строки, а не сразу после того, как '<< EOF'. – chepner

Смежные вопросы