![](/img/trans.png)
[英]how to execute bash script from python (bash file contains user input)
[英]How to send variable from php to a bash script that is asking for user input and need to click enter?
#!/usr/bin/python
import os
import sys
client=sys.argv[1]
homeDir="/home/vpnUsers"
os.system("cd /etc/openvpn/easy-rsa/")
os.system("./easyrsa build-client-full %s" %(client))
os.system("cp /etc/openvpn/client-template.txt %s/%s.ovpn" %(homeDir,client))
在os.system("./easyrsa build-client-full %s" %(client))如果我在終端上手動運行它會要求輸入密碼 2 次,所以如果我手動執行我可以輸入密碼,單擊輸入並完成。 我怎么能做到這一點,但使用python?
讓我們假設 sys.argv[2] 是它的密碼,當它要求輸入密碼時,它應該寫在這個命令中。
Ps:參數來自php。
解決了!
該庫將與腳本對話。 便於使用。
pip 安裝 pexpect
然后在你的腳本 python 上導入它
進口預期
我的情況的示例代碼
localcmd='/path/to/script/easyrsa build-client-full "arg"'
def localOutput(localcmd):
child = pexpect.spawn (localcmd)
child.expect ('Enter PEM pass phrase:')
child.sendline ('password')
child.expect ('Verifying - Enter PEM pass phrase:')
child.sendline ('password')
child.expect(pexpect.EOF)
return child.before
localout=localOutput(localcmd)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.