Linux マシンで putty 経由で .sh ファイルを実行する

Linux マシンで putty 経由で .sh ファイルを実行する

Linux マシンで引数を取る .sh ファイルを実行したいです。Windows マシンからこの .sh ファイルを実行するために plink.exe を使用しています。しかし、.sh ファイルとこのファイル引数を実行する plink.exe を実行するためにバッチ ファイルに何を記述すればよいかわかりません。

次のバッチコマンドを記述しました:

@echo off  
start C:\Users\Prateek\Desktop\PLINK.EXE -ssh -P 22 user@host -pw password sh -x  "/home/user/copy.sh"

実行すると次のようになります:

+ echo ''  

+ echo 'Enter partner id'  
Enter partner id  
+ read pid  
:  

実際には、「パートナー ID を入力」が渡す必要のある引数です。

答え1

まだあなたが何を望んでいるのかよく分かりませんが、いくつか仮定を立てて、それがどうなるか見てみましょう ;-) 残念ながら、Windows シェルもすぐには利用できないので、私の Batch foo は、特に引用符に関して、スペースが含まれている場合はさらに、少しずれている可能性があります。編集は大歓迎です。

  1. バッチ ファイルにコマンド ライン引数を指定したいとお考えのようですね。これはバッチ ファイル内で として利用できるようになります%1

  2. 前の段落で取得した文字列は、UNIX シェル スクリプトに入力として提供されるはずです。これは、たとえば、Linux ボックスのログイン シェルで echo コマンドを 2 番目のシェルにパイプすることで実行できます。


次の変更を試してください。

start C:\Users\Prateek\Desktop\PLINK.EXE -ssh -P 22 user@host -pw password echo %1 ^| sh -x  "/home/user/copy.sh"

として呼び出された場合mybatch.bat SomeText、リモート ホストのシェルで以下を実行する必要があります。

echo SomeText | sh -x /home/user/copy.sh

これを実行すると、誰かがキーボードでcopy.sh入力したと認識されます。SomeText

関連情報