【Nanopi Duo】+shell脚本登入

      最近一直在玩Nanopi Duo,刚开始一直使用的是串口登入的,就上次那个Musicbox因为串口找了好久才发现用串口是没有用的,所以最近就转到虚拟机里面来,但是在虚拟机里面每次登入都要输入IP地址和登入密码非常的麻烦不方便,有时候还会输错。所以想着能不能写一个脚本来解决这个问题,说做就来。因为笔者是小白所以对脚本不太了解,然后就百度走起。

网上资料那是一个丰富啊!都不知道从哪里开始看了,但看多了总有收获的。

  1、首先你必须创建一个脚本文件它是.sh后缀的如“zero.sh”

  2、进到脚本文件里面,首行加上 #!/bin/sh 声明这个文件是脚本,要执行的。

  3、在下面写自己需要的具体操作。比如:cd /var/opt/ 等等。

 4、需要把脚本编译一下,才能执行。很简单,打开终端,输入chmod +x filename 

  5、点击就可以运行了

     可能介绍的不够详细,毕竟是小白。下面就直接上登入ssh的过程好了,

 在虚拟机桌面建一个脚本文件.sh就可以,然后在里面编写你的程序就好了,

  

 #!/usr/bin/expect
2 set timeout -1
3 spawn ssh root@192.168.1.121
4 expect "*assword:*"
5 send "密码\r"
6 interact

   就是这么简单,不过还是要介绍一下里面的函数如下:

第一行:主要用于指明expect执行路径,由于登录类的脚本本质上是由expect解释执行,所以第一行需要指明expect的路径。(笔者也不是太懂这个expect,希望有大佬详解)

第二行:用于设置超时时间,设置值为-1代表不超时

第三行:用spawn来执行你要执行的shell命令,也就是你每次要输入的IP地址

第四行:使用expect来匹配执行shell命令的返回值中的关键字assword:,即需要知道执行shell之后等待输入密码的那行语句,超时时间即第二行设置的时间

第五行:使用send将第三行设置的密码自动填充到terminal,实现登录功能

第六行:使用interact退出expect环境,返回terminal界面,实现登录成功之后再输入,如不使用interact则会停留在expect环境中,而无法进如终端


说明一下:ubuntu expect 安装:sudo apt-get install expect


总结:小白的道路永远是艰辛的,一个登入脚本弄了一个上午,不过最终解决了那就非常的开心,电子道路任重道远啊!!!!!1


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值