对脚本中的可执行文件运行sudo命令

时间:2018-07-17 01:43:26

标签: python linux shell executable

我在StackOverflow周围以及其他地方都找到了解决该问题的各种答案,但是,提供的答案都没有解决我的问题。

我尝试了echo 018020 | underclock.shsudo visudo方法。上述所有方法均无效。即使使用michallal ALL = NOPASSWD: /home/michalall/PycharmProjects/Mining/underclock.sh,我仍然收到以下消息-sudo no tty present and no askpass program specified

这是我的代码:

import os

ubu_path = '/home/michalall'
os_path = ubu_path
project_path = os_path + '/PycharmProjects/Mining/'

os.system('chmod +x ' + project_path + 'nvidia_settings')
os.system('cd ' + project_path + 'nvidia_settings/')

os.system('sudo ' + project_path + 'underclock.sh')

os.system('echo 018020 | underclock.sh')

编辑:

当我跑步时:

os.system('underclock.sh')

os.system('echo 018020 | underclock.sh')

os.system('echo 018020 | sudo -S underclock.sh')

我分别得到以下输出:

sh: 1: underclock.sh: not found.

sudo no tty present and no askpass program specified

sudo no tty present and no askpass program specified

1 个答案:

答案 0 :(得分:1)

尝试使用echo <password> | sudo -S <cmd>,以便sudo可以从标准输入而不是终端设备读取密码。