行为不端的python sys脚本

时间:2013-04-24 17:46:04

标签: python linux

我制作了这个小python脚本用于更新(但还没有输入所有命令,只是想尝试一个更新命令)我的系统,但是在进入root /超级用户模式后它行为不端。

我想知道是否有人可以指出问题/错误。

import os

print "\t Entering Upgrade Mode "

if os.system("su")==1:
      print "passed"
      os.system("apt-get update")
      os.system(exit)
else:
      print "failed"

1 个答案:

答案 0 :(得分:2)

我怀疑是su的电话问题。在退出子shell之前,调用不会退出(在这种情况下,将您从root用户注销)。这意味着任何后续调用都会再次作为(推测)普通用户执行。

尝试以下方法:

import os

print "\t Entering Upgrade Mode "

os.system("sudo apt-get update")

或者su需要-c标志来处理后续命令,例如

su -c "echo Hello" 

你可能应该使用subprocess;不推荐使用os.system