0
我想創建某種sftp服務器的ping,並在連接失敗時報告python3。Python3子進程在舊shell中執行命令 - sftp問題
,我想執行的命令是這樣的一個:
sftp -P port [email protected] <<<exit> /dev/null 2>&1
它,當我用我所有的外殼在本地執行它的工作原理(SH 4.3時,bash,zsh中)上拱,當我執行工作它在subprocess.check_call([command],shell = True)中(也在我的計算機上),但它在服務器上不起作用,因爲check_call使用/ bin/sh,並且安裝的版本不允許重定向,如「< < <退出「。
我得到這個錯誤:/ bin/sh的:1:語法錯誤:重定向意外
我真的需要傳遞到過程中的「退出」的關鍵字,一旦它被連接到SFTP自動關閉連接。爲此,我需要找到正確的命令傳遞給舊的/ bin/sh或告訴子進程使用/ bin/bash而不是/ bin/sh。
有人知道我該如何解決這個問題?
服務器3.16.0-60泛型#80〜14.04.1 Ubuntu的
非常感謝你。