2

Pythonモジュールpysftpを使用してリモートサーバーに接続します。以下に Python コードを示します。

import pysftp
import sys
import sqr_common

srv = pysftp.Connection(host="xxxxxx", username="xxxx",
password="xxxxx")



command  = "/usr/bin/bash"
command2="APSHOME=/all/aps/msc_2012; export APSHOME; "

srv.execute(command)
srv.execute(command2)





srv.close()

問題は、コマンド /usr/bin/bash が無限プロセスであるため、スクリプトが実行されないことです。リモートサーバーでシェルを選択する方法、たとえばbashを選択して、リモートサーバーのbashでコマンドを実行する方法を教えてもらえますか?? シェルを選択できるpysftp機能はありますか??

4

2 に答える 2

0

この問題は Python に固有のものではなく、特定のシェルでコマンドを実行する方法に似ています。

  • 単一のコマンドのみを実行する必要がある場合は、bash -c スイッチを使用して実行できます

    bash -c "echo 123"
    
  • 複数のコマンドを実行できます。別れた

    bash -c "echo 123 ; echo 246"
    
  • 特定のシェルで多くのコマンドが必要な場合は、リモートでシェル スクリプト ファイル (.bash ファイル) を作成して実行します。

    bash myscript.bash
    
于 2013-11-29T13:24:39.000 に答える