我需要在命令啓動後發送命令到shell「MYSHELL>」。使用Python將命令發送到子殼
prcs = subprocess.Popen("MYSHELL; cmnd1; cmnd2;",shell=True,
subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
outputPrcs, err = prcs.communicate()
print outputPrcs
只有進入shell的問題被執行,其他命令(cmnd1; cmnd2;)不會被髮送。
結果: MYSHELL>
可能是因爲'MYSHELL'仍在執行。你的命令的意思是「啓動MYSHELL,等待它完成,然後執行cmnd1和cmnd2」 – Dunno
你想實現什麼?你想發送「cmnd1」和「cmnd2」到你的shell作爲輸入,還是你想執行其他程序? – Dunno
我想發送cmnd1 cmnd2到MYSHELL作爲輸入在那個shell –