透過putty在linux機器中運行.sh文件

透過putty在linux機器中運行.sh文件

我想在 Linux 機器上運行一個帶有參數的 .sh 檔案。我正在使用 plink.exe 從 Windows 電腦執行此 .sh 檔案。但我不知道要在批次檔中寫入什麼才能執行 plink.exe,而 plink.exe 又會執行 .sh 檔案和此檔案爭論。

我寫了以下批次命令:

@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 shell,所以我的 Batch foo 可能是咬掉,特別是在引用方面,如果內容包含空格,則加倍。歡迎編輯。

  1. 我知道您想為批次檔提供命令列參數。然後,這將在批次文件中以%1.

  2. 我假設上一段中獲得的字串應該作為輸入提供給 UNIX shell 腳本。例如,這可以在 Linux 機器上的登入 shell 中透過將 echo 命令傳送到第二個 shell 來完成。


嘗試以下修改:

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,它應該在遠端主機上的 shell 中運行以下命令:

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

它運行copy.sh並讓它認為有人SomeText在鍵盤上輸入了它。

相關內容