plink を使用して Windows から Linux ホスト上で bash スクリプトを実行する方法

plink を使用して Windows から Linux ホスト上で bash スクリプトを実行する方法

リモート Linux マシンで bash スクリプトを実行する単純な bat ファイルを Windows で実行しようとしています。bash スクリプトは Linux マシン上にあります。

たとえば、Windows 上のバッチ ファイルでこのコマンドを実行しようとしています。

plink.exe -pw <password> root@<ip> bash -c "/root/script.sh"

結果:

  • Windowsから実行すると、cmdが永久に停止します
  • /root/script.shLinux マシンから特定のスクリプト ( ) を実行すると、正常に動作します。
  • スクリプトにはRubyコードが含まれており、RVMを使用しています

答え1

次のコマンドを実行すると何が表示されますか? これにより、スクリプトがステップ実行されます。

plink.exe -pw <password> root@<ip> bash -x "/root/script.sh"

また、リモートで実行する場合には環境設定が異なることに注意してください。PATH など、すべてが適切に設定されていることを確認する必要があります。したがって、スクリプトでは ruby​​ の代わりに /usr/bin/ruby と指定するか、PATH に /usr/bin を追加するなどする必要があります。

または、それらを設定するファイルを入手します。

関連情報