我有一个需要自动化的脚本,因此它是一个.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
。
答案 0 :(得分:5)
您可以使用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')