次のコマンドを使用して、Windowsマシンでバッチファイルを作成しました。
rsh hdvg-1 -l root lspci
hdvg-1
は、ネットワーク上のLinuxマシンの名前です。
しかし、結果として得られるのは次のとおりです。command not found
。誰かが私が間違っていることを教えてもらえますか?
おそらく、lspciの結果をフィルタリングするために次のコマンドを使用するのにも役立ちます。
lspci | grep 'certain string
rsh
オプションの後にホスト名が必要です。例:
rsh -l root hdvg-1 lspci
それ以外の場合は、"-l"
を実行しようとしています。
grep
コマンドには不均衡な引用符があり、次のようになります。
lspci | grep 'certain string'
lspci
コマンドがマシンで使用可能であることを確認したい場合は、次のようにすることができます。
rsh -l root hdvg-1
シェルを取得するには、そのシェルにlspci
と入力します。ちなみに、rsh
はssh
のエイリアスである可能性が高いため、混乱を避けるためにssh
を使用する必要があります。
もう1つの混乱の原因は、リモートシェルを使用する場合、$PATH
環境変数が通常のログインと同じように設定されない可能性があることです。 rsh server "script ..." which $ PATH used? の議論によると、
rsh
は、安全のために実行可能ファイル、スクリプトの完全修飾名を必要とします。/usr/bin/sh
(リモートサーバーで評価されるものは何でも)を使用し、PATH
は通常制限されます:/usr/bin:/usr/sbin
リモートマシンでは、lspci
がリモートコールに使用される$PATH
に含まれていない可能性があります。
参考文献: