我尝试做一个简单的应用程序,将SSH连接到我最喜欢的服务器。
它实际上在工作!
但问题是,当我添加第三个选项(这是自定义)..
所以我添加第三个选项,让应用程序询问用户的IP Address
和Username
但是,插入的值没有在variables中设置…
而且由于IP Address
和Username
没有值,SSH连接将失败。
然后我再次运行batch file,select第三个选项,然后插入另一个值,然后出现的值似乎是在第一次运行中设置的值。
对不起,我的英语不好…
任何人都可以尝试我的脚本,并尝试连接两次不同的值。 那么你会明白。
@echo off cls set custom_choice=3 echo Which server do you want to connect? echo 1. 232 echo 2. Kiwire Free Edition echo 3. Custom echo. set /p choice="Enter your choice: " echo. IF %choice%==1 ( ::this is comment ssh root@192.168.0.232 ) ELSE IF %choice%==2 ( ssh -i ./key/my-ssh-key-normal dev@123.123.123.123 ) ELSE IF %choice%==%custom_choice% ( set /p conIpAddress="Please insert IP Address: " set /p conUsername="Please insert Username: " echo. ssh %conUsername%@%conIpAddress% ) ELSE ( echo Wrong choice! Sorry! )
所有你需要做的是setlocal enabledelayedexpansion
来设置变量。
@echo off cls setlocal enabledelayedexpansion set custom_choice=3 echo Which server do you want to connect? echo 1. 232 echo 2. Kiwire Free Edition echo 3. Custom echo. set /p choice="Enter your choice: " echo. IF %choice%==1 ( ::this is comment ssh root@192.168.0.232 ) ELSE IF %choice%==2 ( ssh -i ./key/my-ssh-key-normal dev@123.123.123.123 ) ELSE IF %choice%==%custom_choice% ( set /p conIpAddress="Please insert IP Address: " set /p conUsername="Please insert Username: " echo. ssh !conUsername!@!conIpAddress! ) ELSE ( echo Wrong choice! Sorry! )