编程-linux expect脚本问题

问题描述

linux expect脚本问题

1 #!/usr/bin/expect -f

2 spawn ssh root@192.168.1.121
3 expect "*password:"
4 send "test1234r"
5 expect "*#"
6 send "mkdir ./tsr"
7 send "file tsr"
8 interact
实现登录到远端机器然后新建一个目录 查看这个目录的类型
为什么去掉第五行就不能正确执行了呢?而第六行和第七行就可以连续执行?
expect和send到底是怎么样的一个关系?
spawn mkdir ./test 这样无交互的指令是不是无法用expect编程 我试了下就执行了这句 尽管我指定了 expect “*$“ 也没有继续执行接下去的send 语句
求教!

解决方案

http://blog.csdn.net/zhuying_linux/article/details/6902135

时间: 2024-08-01 16:11:10

编程-linux expect脚本问题的相关文章

linux编程问题,expect脚本问题,急求

问题描述 linux编程问题,expect脚本问题,急求 #!/usr/bin/expect -f set IP [lindex $argv 0 ] spawn scp /root/.ssh/id_rsa.pub root@${IP}:/root/.ssh/ expect { "Are you sure you want to continue connecting*" { send "yesr"; exp_continue } 写了个脚本,大概是这样,但现在有个问

linux下用expect脚本实现ssh 自动登陆服务器

又学了一个小招,使用 expect 脚本语言实现 ssh 自动连接到服务器,可以自动输入密码.因为每次使用 ssh root@xx.xx.xx.xx 连接服务器,都要手动输入一遍密码,有没有办法自动输入密码呢? 在网上搜索了一下,果然有办法,有一种脚本语言 expect ,它的作用就是能与交互式程序进行"可程序化"会话,比如自动输入密码,碰到"password"字符就会自动输入密码. 首先要安装 expect 脚本程序,不过在 Macbook 中自带了.比如 Cen

Linux Shell脚本编程初体验_linux shell

通常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本. 某些编程语言,像

Linux expect命令用法详解

随处可见的expect 第一次见expect这个命令还是我第一次参加全量上线的时候,那是公司的一个牛人用Shell脚本写的一套自动部署.MD5 比对.发布的全量上线工具,没事的时候,看了下其中的几个脚本,好多的expect命令.实在是看不懂这个expect命令的用法,所以就找时间总结了这篇关于expect命令的文章. 先抛出一个问题 现在有两台Linux主机A和B,如何从A主机ssh到B主机,然后在B主机上执行命令,如何使这个过程实现全程自动化?你可能会使用这种方法: ssh admin@10.

如何利用expect脚本实现备份华为交换机配置之(一)

在平常工作中需要定期备份交换机配置,如果一个个手动备份,工作量十分巨大,那有没有什么好的工具来减轻我们备份的工作量呢?经过查找资料,发现可以利用expect脚本来实现,expect可以与shell相互配合,以使Linux shell能够支持交互.可以让我们登录到服务器及网络设备上执行例行性工作及批处理操作等. 整体思路:我们利用脚本登录交换机执行命令,以便将配置文件保存到tftp服务器上,因此需要expect环境的准备以及tftp服务器的准备. 一. expect环境的准备 操作系统:Cento

Linux shell脚本基础学习详细介绍(完整版)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可

Linux Shell脚本系列教程(五):数学运算

  这篇文章主要介绍了Linux Shell脚本系列教程(五):数学运算,本文讲解了使用let.(())和[]进行算术运算.使用expr进行算术运算.使用bc进行算术运算三种方法,需要的朋友可以参考下 在任何一种编程语言中,算术运算都是必不可少的,shell也不例外. 一. 使用let.(())和[]进行算术运算 可以使用普通变量赋值方法定义数值,这是,它会被保存为字符串.我们可以通过使用let.(()).[]等操作符,使得这些变量进行算术运算.例如: 代码如下: #!/bin/bash no1

Linux expect工具简单示例

expect安装命令 yum -y install expect 脚本代码如下: #!/usr/bin/expect set timeout 30 spawn ssh -l username 192.168.1.1 expect "password:" send -- "ispass\r"  //--可加也可不加 interact 脚本文件执行需要使用shell命令 :expect  filename 来执行 命令详细解释 1. #!/usr/bin/expect

Linux shell脚本基础学习详细介绍(完整版)第1/2页_linux shell

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.当编辑好脚本时,如果要执行该脚本,还必须使其可执行.要使脚本可执行:编译