Проблема в вызывает sudo, делают установку в сценарии Python

Я написал следующий код для конфигурирования yara пакета в моем сценарии, но когда он звонит, sudo делают установку, Python дают мне ошибку. Как я могу зафиксировать его?

    def yara_installation(self):
    os.chdir("yara/")
    self.installYara = "./bootstrap.sh;./configure;make;sudo make install"
    for self.items in self.installYara.split(";"):
        if (subprocess.run(self.items, stdout=DEVNULL, stderr=DEVNULL)):
            self.color.print_blue("\t[+] {} command is running.".format(self.items))
        else:
            self.color.print_blue("\t[+] {} command isn't running.".format(self.items))

Исключение: [Errno 2] Никакой такой файл или каталог: 'sudo делают установку'

0
задан 25 July 2016 в 13:40

1 ответ

Замените Ваш subprocess.run() команда с этим:

subprocess.call(self.items, stdout=DEVNULL, stderr=DEVNULL,shell=True)

Это должно работать, однако, я лично приблизился бы к этому через использование списков и назвал бы определенную оболочку на каждый сценарий оболочки. shell=True однако будет звонить /bin/sh на Вашем bootstrap.sh, который, надо надеяться, не содержит bashisms и является портативным.

0
ответ дан 28 September 2019 в 19:10

Другие вопросы по тегам:

Похожие вопросы: