Я пытаюсь передать последовательность команд сценария оболочки функции python.Как передать скрипт оболочки, который живет в переменной, к функции
Я использовал для вызова файла script.sh внутри подпроцесса, но теперь я хотел бы иметь сам скрипт в функции, поэтому мне не нужно беспокоиться о трейлинг-скрипте.
упрощен пример, чтобы дать представление:
def myfunc()
script = "ls -la; cd /; ls -la"
runscript_output = subprocess.call(script)
print runscript_output
Является ли это правильный способ сделать это?
Я видел несколько примеров, когда команды оболочки были обернуты в обертки EOF; хотя я не совсем уверен, почему.
Re: «Обертки EOF», возможно, это был другой язык - Python не поддерживает heredocs. –
Обертки EOF, вероятно, были переадресованы. Вы должны заставить вашу функцию принять команду в качестве аргумента, чтобы вы могли использовать ее в другом месте. – MeetTitan
@CharlesDuffy: пример использовал его в строке, запущенной в функции python; что-то вроде string = "cat << 'EOF' >>" или что-то в этом роде; Я считаю, что это синтаксис сценария оболочки –