我正在学习python编程,想尝试在linux中更改MAC地址时使用一些脚本,但我一直收到以下错误:

/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)*

最佳答案

问题是命令的参数周围没有空格。
但是,最好通过传递列表而不是字符串来完全避免shell解析。

subprocess.call(["ifconfig", interface, "down"])
supprocess.call(["ifconfig", interface, "hw", "ether", new_mac])
subprocess.call(["ifconfig", interface, "up"])

关于python - 为什么我不断收到bin/sh:1::未找到,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54429853/

10-09 20:00