pexpect と pxssh を使用していくつかのタスクを自動化しようとしています。私はPythonにあまり詳しくありません。サーバー上でいくつかの引数を指定してシェルスクリプトを実行したいと思います。ただし、シェルスクリプトはローカルでホストされています。
私は今、次のようにしようとしています:
s = pxssh.pxssh()
s.login(host, user, pass)
f = open("./connect.sh", "r")
for line in f:
s.sendline(line)
s.prompt()
print s.before
connect.sh
awk ワンライナーがあります。そのため、1 行を読み取り、pxssh 経由で直接サーバーに送信します。これは機能します。
ただし、シェルスクリプトに引数を渡したいです。awk one liner には $1 と $2 が含まれているため、それらを交換する必要があります。$1 を最初の引数に、$2 を 2 番目の引数に手動で置き換えることができると思うので、新しい awk コマンドを作成し、新しいコマンドを pxssh でサーバーに送信します。しかし、私はそれを行うよりスマートな方法があると思います。それで、これを行う正しい方法は何ですか?