我已经了解 Java,并决定在 Linux 上尝试一些 Python 来满足我的所有需求。
做了一个简单的小程序来检查脚本是否以 root 身份运行,如果不是,我们要求输入密码。
import subprocess;
process = subprocess.Popen(['id', '-u'], stdout=subprocess.PIPE)
uid, err = process.communicate()
print(uid)
if uid != 0:
lpass = raw_input("\nYou are NOT running this script as root.\n Please enter your Linux password:")
这是输出:
1000
You are NOT running this script as root.
Please enter your Linux password:
现在,问题是 IF 不起作用,或者更准确地说,uid != 0
它没有做我想让它做的事情。IF 语句总是显示为假,即使我以 root 身份运行脚本也是如此。我也试过uid == 1000
了,也失败了。
我怀疑这是因为我将“其他东西”与字符串或整数进行比较,但我不知道如何得到其他东西或如何转换它,但这只是外行的猜测。哈尔普。