WIN10 openssh在cmd“ ssh xxx@xxx.xxx.xxx.xxx sh xxx.sh”错误中,无法正常读取变量

时间:2019-03-16 16:12:57

标签: bash ssh cmd openssh openwrt

我是Win10,并安装了Openssh。我的路由器正在运行 Openwrt 。代码是通过 BASH

编写的

!!!代码在这里!!!

flag1=1
option1_1="Its num1"
while [[ "$flag1" = "1" ]];do
read -n 1  -p "Please input num1    :" input1
case ${input1} in
    1)
      echo .
      read -n 1 -p "Your input is: $input1,comfirm?[1/0]" comfirm1
      if [[ "$comfirm1" = "1" ]];then
         echo .
         echo Your input is $input1,Goodbye
         flag1=0
      fi
  ;;
    *)
     echo Its not num1 ,please input again
     flag1=1
  ;;
esac
done

路由器中有一个.sh文件,我需要按照以下步骤运行它:

  

步骤:

  1. Win + R打开cmd.exe
  2. 键入此命令:ssh example@192.168.1.1 sh example.sh

问题来了:它无法正常读取变量,也无法输出我写在文件中的单词。

但是,如果我使用以下命令运行此脚本,它将正常工作:

  

步骤:

  1. Win + R打开cmd.exe
  2. 类型:ssh example@192.168.1.1
  3. 类型:sh example.sh
  

问题:(我已将视频上传到YouTube:https://youtu.be/TPE9CjUQvxo

它应该读为“ 1”并保存到 $ input1 $ comfirm1 ,但实际上只有在我键入“ 11”时才能正确读取,否则会导致它会永远循环。

我注意到了一些东西,但是我不知道该怎么办:

  

我注意到的事情:

  1. 当我使用一个命令“ ssh xxx@xxx.xxx.xxx.xxx sh xxx.sh”时,cmd.exe窗口的标题仍为“ C:\ Winodws \ system32 \ cmd.exe -ssh xxx @ xxx”。 xxx.xxx.xxx sh test.sh”。但是当我将此命令分解为两个命令时,它更改为“ OpenSSH SSH client”
  2. 当我使用一个命令时,代码read -n 1 -p "xxx"无法正常工作。它无法显示-p单词或只能读取1个字符。

任何人都知道出了什么问题,并给我建议以解决此问题?

0 个答案:

没有答案