В настоящее время я использую модуль подпроцесса в python для целей написания сценариев, и мне не удалось выполнить команду 'список модулей', несмотря на эту работу, когда я запускаю ее в оболочке, и несмотря на то, что любые другие виды команд работают нормально при использовании подпроцессамодуль для выполнения команд.
Два варианта, которые я пробовал:
p = subprocess.Popen('module list', shell=True)
print(p.communicate()[0])
и
p = Popen(["module", "list"], stdout=subprocess.PIPE)
print(p.communicate()[0])
Для таких команд, как 'echo hello world' и даже более длинных команд с несколькими аргументами, любой изэти форматы работают просто отлично.Отличается ли терминал, из которого я запускаю команды, от оболочки, используемой для выполнения команд с использованием подпроцесса?Я получаю следующую ошибку:
/bin/bash: line 1: module: command not found