我写了一个这样的批处理文件:
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文件中定义一些东西,但是最重要的是什么?
答案 0 :(得分:14)
一旦命令完成,SSH会话就会关闭(和PuTTY一起使用)。通常“命令”是shell。由于你已经覆盖了这个默认的“命令”,但是你想要运行shell,你必须自己明确地执行shell:
avahi-daemon ... ; /bin/bash
同样,由于-m
开关的使用意味着非交互式终端,您可能希望使用-t
开关强制使用交互式终端。
虽然,我不确定你是否想要执行shell,或者你只是想看看你的命令输出。如果是后者,您是否考虑使用plink
?它是PuTTY软件包的控制台终端客户端。作为控制台应用程序,它继承了父批处理文件的控制台,如果需要,您可以使用pause
命令暂停批处理控制台的关闭。
另一个选项(PuTTY和plink)都是在远端暂停。例如。使用read
命令。
avahi-daemon ... ; read
答案 1 :(得分:5)
正如马丁所建议我尝试了这一步:
putty.exe -ssh 172.17.0.52 -l root -m dummy.txt -t
在dummy.txt命令末尾添加/ bin / bash
它对我有用。请注意,您必须遵循上述两个步骤。 这样,您可以使会话保持活动状态,并可以手动执行更多命令。