1

最近、WindowsボックスでSSHセットアップを取得したため、Linuxマシンでディスクマウントを行う必要がなくなりました。私たちはPentahoを使用しており、LinuxボックスからWindowsボックスにSSHで接続し、perlスクリプトを実行するシェルスクリプトを作成しています。

WindowsボックスにSSHで接続し、実行する必要のあるPerlスクリプトを保持するディレクトリに切り替える方法で書き込むことができましたが、実際に実行する方法がわかりません。

これは私が持っているものです:

#!/bin/sh
ssh -t xxxxx@xxxxx "cd /path/to/script/ /path/to/perl.exe HelloWorld.pl"

私も試しました:

#!/bin/sh
ssh -t xxxxx@xxxxx "cd /path/to/directory/with/perl/script" \
                   "/path/to/perl.exe HelloWorld.pl"

どちらの試行でも、短い遅延が発生してから「xxxxxから切断」され、perlは実行されません。これらの手順はすべてシェルを介して手動で実行できますが、スクリプト形式で機能させることはできないようです。注意として、私がperlスクリプトを実行できる唯一の方法は、perlスクリプトが置かれているディレクトリにシェルがある場合です。

4

2 に答える 2

1

ステートメントを終了するにはセミコロンを使用するか、1つのステートメントで実行する必要があります。次のことを試してください。

ssh xxxxx@xxxxx "cd /path/to/script/; /path/to/perl.exe HelloWorld.pl"

また:

ssh xxxxx@xxxxx "/path/to/perl.exe /path/to/script/HelloWorld.pl"
于 2012-06-12T20:44:03.163 に答える
0

&&Windowsコマンドシェルでは、Unixシェルのように使用できます。最初のコマンドが成功することを期待する場合は、

ssh -t xxxxx@xxxxx "cd /path/to/script/ && /path/to/perl.exe HelloWorld.pl"

動作します。

于 2012-06-12T21:21:15.403 に答える