簡體   English   中英

如何將變量從 php 發送到要求用戶輸入並需要單擊 Enter 的 bash 腳本?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM