簡體   English   中英

如何防止PuTTY shell在Windows中從批處理文件執行命令后自動退出?

[英]How to prevent PuTTY shell from auto-exit after executing command from batch file in Windows?

我寫了一個這樣的批處理文件:

Start putty.exe -ssh 172.17.0.52 -l root -m dummy.txt

然后在dummy.text我寫了這個命令:

avahi-daemon --no-drop-root -D
export XVHMI_USERCONFIG_PATH=/home/UserProfileConfig
export XDG_RUNTIME_DIR=/tmp
cd /opt/bosch/airis/bin

當我運行.bat文件時,PuTTY啟動,命令執行(希望,不確定)並退出。

如何保持窗口打開?

我用谷歌搜索了同樣的,但沒有堅實的幫助。 我讀到堆棧溢出本身,我們需要在txt文件中定義一些東西,但是最重要的是什么?

命令完成后,SSH會話將立即關閉(以及PuTTY)。 通常“命令”是shell。 由於你已經覆蓋了這個默認的“命令”,但是你想要運行shell,你必須自己明確地執行shell:

avahi-daemon ... ; /bin/bash

另外,由於使用-m開關意味着非交互式終端,您可能希望使用-t開關強制交互式終端。


雖然,我不確定你是否想要執行shell,或者你只是想看看你的命令輸出。 如果是后者,你考慮使用plink嗎? 它是PuTTY軟件包的控制台終端客戶端。 作為控制台應用程序,它繼承了父批處理文件的控制台,如果需要,您可以使用pause命令暫停批處理控制台的關閉。

另一個選項(PuTTY和plink)都是在遠端暫停。 例如,使用read命令。

avahi-daemon ... ; read

正如馬丁所建議我嘗試了這一步:

  1. putty.exe -ssh 172.17.0.52 -l root -m dummy.txt -t

  2. 在dummy.txt中的命令末尾添加/ bin / bash

它對我有用。 請注意,您必須遵循上述兩個步驟。 這樣,您可以使會話保持活動狀態,並可以手動執行其他命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM