我有一个需要自动化的脚本,所以它是一个 .sh
我想在 python 脚本中运行的脚本:像这样:
import os
os.system('./script.sh -p 1234')
脚本
script.sh
需要用户输入 3 个字段,1)sudo 密码,2)一个字符串和 3)一个字符串。Enter password for user: xxxx #typed by me
Enter Auth Username: xxxx #typed by me
Enter Auth Password: xxx #typed by me
如何让 python 脚本输入/插入/传递这 3 个需要的值到
script.sh
.
最佳答案
您可以使用 subprocess.Popen
启动脚本和 communicate
方法来传递它的输入。像这样的东西:
import subprocess
p = subprocess.Popen(['./script.sh', '-p', '1234'],
stdin=subprocess.PIPE, stdout=subprocess.PIPE)
stdout, stderr = p.communicate(input='password\nauth username\nauth password\n')
关于Python os.system() 输入文本到脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346707/