手写dos batch简易ssh client

xshell 时不时会过期要升级,又多数会软件自动升级失败,导致要重新申请学生版安装,网页容易连不上。finalshell 好像体验一般,现用 WindTerm,不过用 vim 会有排版问题,见 [1]。

用 vim 时临时改用 windows 命令行连,不想每次都手打连接命令,手写一个简易 ssh client:

  • 事先将连接信息 @ 在文件中写好
  • 事先配好 ssh 免密登录,否则每次都要输密码
  • for 的范围相应改,左闭右(本例的 03
@echo off
setlocal enabledelayedexpansion

@REM servers
set servers[0]=itom@1.2.3.4
set servers[1]=tomsss@5.6.7.8
set servers[2]=tomascat@9.10.11.12
set servers[3]=tommy@13.14.15.16


@REM show servers' id, user & ip
for /l %%n in (0,1,3) do (
   echo [%%n] !servers[%%n]!
)

:connect
@REM prompt, input server id & connect
set /p "sid=which: "
if defined servers[%sid%] (
	ssh !servers[%sid%]!
) else (
	echo No such server: %sid%
	goto :connect
)

根据输出提示,输入想连的 server 编号,回车。

References

  1. vim layout out of order #1630
  2. In Windows cmd, how do I prompt for user input and use the result in another command?
  3. Batch Script - Arrays
  4. How can I echo a newline in a batch file?

你可能感兴趣的:(环境,batch,ssh,dos)