Linux 下长途登录,改的比如ITeye - 凯时娱乐

Linux 下长途登录,改的比如ITeye

2019年02月23日10时12分57秒 | 作者: 鹏煊 | 标签: 指令,等候,脚本 | 浏览: 3084

#!/usr/bin/expect 

# 2011.11.23  hui . my first example of expect

if {[llength $argv ] 1 } {
  puts " please in put the ip"
  exit 1
}

set timeout 30

spawn ssh -l root $argv
expect "password:"
send "ispass\r"
interact



转载

1. [#!/usr/bin/expect]
这一行通知操作系统脚本里的代码运用那一个shell来履行。这儿的expect其实和linux下的bash、windows下的cmd是一类东西。
留意:这一行需要在脚本的榜首行。
2. [set timeout 30]
基本上知道英文的都知道这是设置超时时刻的,现在你只需记住他的计时单位是:秒
3. [spawn ssh -l $username $IP]
spawn是进入expect环境后才能够履行的expect内部指令,假如没有装expect或许直接在默许的SHELL下履行是找不到spawn命 令的。所以不要用 “which spawn“之类的指令去找spawn指令。比如windows里的dir就是一个内部指令,这个指令由shell自带,你无法找到一个dir.com 或 dir.exe 的可履行文件。
它首要的功用是给ssh运转进程加个壳,用来传递交互指令。
4. [expect "password:"]
这儿的expect也是expect的一个内部指令,有点晕吧,expect的shell指令和内部指令是相同的,但不是一个功用,习气就好了。这个命 令的意思是判别前次输出成果里是否包括“password:”的字符串,假如有则当即回来,不然就等候一段时刻后回来,这儿等候时长就是前面设置的30秒
5. [send "ispass\r"]
这儿就是履行交互动作,与手艺输入暗码的动作等效。
温馨提示: 指令字符串结束别忘记加上“\r”,假如出现异常等候的状况能够核对一下。
6. [interact]
履行完结后坚持交互状况,把控制权交给控制台,这个时分就能够手艺操作了。假如没有这一句登录完结后会退出,而不是留在长途终端上。


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章