如何在 bash 脚本(期望)中匹配此 [admin@MikroTik] >?



我试图写一个脚本,将自动配置microtik路由器,但一些奇怪的字符出现一旦密码通过脚本发送并登录路由器。下面是我写的脚本,#!/bin/bash

read -p "输入IP地址:"Public_IP
read -p "输入username: "用户名
read -sp "输入密码:"密码

expect -c ">
spawn ssh -o StrictHostKeyChecking=no $Username@$Public_IP
set timeout -1
expect "password:">
send "$ password ">
expect "[admin*">
sleep 4
expect "[admin*">

当我运行这个脚本时,我在图像中看到以下内容:所以我想要完成的是查看第二张图像并发送一些命令,例如;

/ip

发送上面的命令。

运行脚本后的图像

我想要获取和发送命令的实际接口,就像这样

SSH命令中username后面需要加+tc

spawn ssh -o StrictHostKeyChecking=no $Username+tc@$Public_IP

it ' s works for me

最新更新