0

plink を使用して Unix リモート マシンでコマンドを実行しています。コマンドは次のとおりです。

ls -1trd testegrep.txt |tail -1 |xargs tail -f| grep 's';

このコマンドを送信する方法は、次のような一連のコマンドを含むファイルを使用することです。

plink.exe -ssh -t -l user -pw pwd tst.url.pt -m commands.out

この方法でコマンドを実行すると、plink は入力を受け取りません。入力待ちのようです。しかし、私が実行した場合:

plink.exe -ssh -t -l user -pw pwd tst.url.pt "ls -1trd testegrep.txt |tail -1 |xargs tail -f| grep 's';"

期待どおりの結果が得られます。

私はそう選択したので、コマンドを含むファイルで plink を使用していません。リモートホストでテストを実行できるテスト自動化ソフトウェアを使用していますが、これがツールの動作です。

何がうまくいかないのかについて何か考えはありますか?

4

2 に答える 2

1

教えていただいたコマンドをテストしたところ、問題なく動作しました。

おそらく問題は次のことに関連しています。

  1. サーバーのホスト キーはレジストリにキャッシュされません。
  2. ファイルへのパスが正しくありません。
  3. ファイルが空です。
于 2011-08-11T08:57:48.683 に答える
0
  1. サーバーのホストキーを含める
  2. -m最も重要なことは、パラメーターを使用して UNIX プロファイルを含める必要があることです。

プロファイルも保持されている同じファイルにすべてのコマンドを含めることができます。

$Output = ((plink.exe -hostkey hostkey -l UNAME -i SSHKEY -P 22 -ssh server -batch -m PROFILE) | ? {$_ -ne ""})
于 2021-06-15T20:04:17.767 に答える