マシンAでbashシェルを実行していますが、マシンB上のシェルシェルを介してsshを実行し、コマンド結果をマシンCに要求します。SSHコマンド(AからBへのC)
1)bashシェル "A" 機械 "A" に:マシンA上のTTYに示す結果...
ここでは、回線コードの数千の要約であるNOK
...
ssh -p port [email protected] "scriptB.pl"
...
2)perl scriptB.pl "machine" B ":OK
...
# my $user = qx|$ssh_cmd| if ($ssh_connection_ok);
my $user = qx#$ssh_cmd# if ($ssh_connection_ok);
...
3)マシン "C" 上のbashコマンド$ ssh_cmd:OK、スタンドアロン、STEP2とSTEP3など
cat /my_dir/my_file | grep this_user | head -n1 | cut -d: -f1 | tr
ランは、期待される結果を示したが、マシンAからscriptB.plを実行しています予想されるデータは返されません。私は現時点でNet :: SSH2を使用していませんが、qxを使用します。クライアントのsshセットアップの問題かもしれません。
Thx in adv。
はい、$?マシンB上でスクリプトBを実行すると0を返しますが、マシンAから実行すると65280を返します。これをどのように解釈するのですか?私もマシンBでローカルにscriptBを実行しましたが、そこから期待値を取得します。 machineCでcmdを実行するだけでなく、私はまた、perlシバンの後に$ | = 1を追加しようとしましたが、diffはありません。 – hornetbzz