Почему я продолжаю получать bin / sh: 1:: not found - PullRequest
0 голосов
/ 30 января 2019

Я изучаю программирование на Python и хотел опробовать некоторые скрипты для изменения MAC-адресов в linux, но продолжаю получать следующую ошибку:

/bin/sh : 1 : ifconfigeth0down : not found
/bin/sh : 1 : ifconfigeth0hw : not found
/bin/sh : 1 : ifconfigeth0up : not found

Буду признателен, если кто-нибудь может помочь мне в этом,спасибо.

Код выглядит следующим образом:

#!/usr/bin/env python

import_subprocess

interface = input("interface >")

new_mac = input("new MAC >")

subprocess.call("ifconfig" + interface + "down", shell=True)

subprocess.call("ifconfig + interface + "hw ether" + new_mac, shell=True)

subprocess.call("ifconfig" + interface + "up", shell=True)*

1 Ответ

0 голосов
/ 30 января 2019

Проблема в том, что у вас нет пробелов вокруг аргументов команды.

Но было бы лучше полностью избежать синтаксического анализа оболочки, передав список вместо строки.

subprocess.call(["ifconfig", interface, "down"])
supprocess.call(["ifconfig", interface, "hw", "ether", new_mac])
subprocess.call(["ifconfig", interface, "up"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...