我正在学习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/