[英]subprocess.Popen shell=True to shell=False when using ssh command
我有命令:
proc = subprocess.Popen(["sshpass -p root ssh root@(IP_ADRESS) 'cd
/home/pi/reed && python reed.py'"], shell=True,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, )
shell=True
很危險,因此我想避免使用它,而要使用shell=False
。
有什么提示嗎?
您應該拆分命令。 像這樣:
proc = subprocess.Popen("sshpass -p root ssh root@(IP_ADRESS) 'cd /home/pi/reed && python reed.py'".split(), stdin=subprocess.PIPE, stdout=subprocess.PIPE, )
也許這個嗎?
proc = subprocess.Popen(["sshpass", "-p", "root", "ssh", "root@(IP_ADRESS)", "cd /home/pi/reed && python reed.py"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.