![](/img/trans.png)
[英]How can I ask for user input in python through the terminal in windows?
[英]How can I switch user and perform multiple terminal commands as that user through a Python program
我正在開發一個自動化程序,我希望能夠連續運行這串 Linux 命令,然后關閉子進程:“su my_user”、“cd ~/asdf/qwer/”和“sudo bash zxcv_zcv.sh”。
我在 python 2.7 上,到目前為止我已經嘗試使用這些命令:
subprocess.call("su my_user; cd ~/asdf/qwer/; sudo bash zxcv_zcv.sh",shell=True)
subprocess.Popen("su my_user; cd ~/asdf/qwer/; sudo bash zxcv_zcv.sh",shell=True)
os.system("su my_user; cd ~/asdf/qwer/; sudo bash zxcv_zcv.sh")
到目前為止,唯一發生的事情是程序創建了一個新終端,我可以在 my_user 下與之交互。 我什至不想看到終端,這對於我通過子進程或操作系統運行的任何其他 Linux 命令都沒有發生。 有誰知道發生了什么以及我該如何解決這個問題?
好的,我剛剛為任何想知道的人找到了這個問題的答案。 對於我使用的命令字符串,只需在“su”和“my_user”之間添加 -c 即可運行良好。
subprocess.call("su -c my_user; cd ~/asdf/qwer/; sudo bash zxcv_zcv.sh", shell=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.