1. 程式人生 > >使用spawn和expect實現自動互動

使用spawn和expect實現自動互動

有時候我們使用命令列進行互動時,不想頻繁的做一些重複的事情,例如:每次ssh遠端登入時都需要輸入密碼。使用spawn和expect可以自動完成一些互動。

一個自動輸入密碼的簡單指令碼

#!/usr/bin/expect

set login_name  "user name"
set login_host  "host's ip"
set password    "guess what"

spawn ssh [email protected]$login_host
expect {
        "(yes/no)" { send "yes\r"; exp_continue }
        "password:" { send "$password\r" }
}
#expect 
[email protected]
* {send "ls\r" } ; interact
閱讀原文 | 作者官網 | 公眾號 | Feed | 訂閱 | 發私信

相關推薦

使用spawnexpect實現自動互動

有時候我們使用命令列進行互動時,不想頻繁的做一些重複的事情,例如:每次ssh遠端登入時都需要輸入密碼。使用spawn和expect可以自動完成一些互動。 一個自動輸入密碼的簡單指令碼 #!/u

expect實現自動scpssh登錄後執行命令,並向bash提供返回值

ip地址 用戶名 expect 密碼 #!/bin/bash # 全局變量:用戶名,普通用戶密碼,root密碼 loginname="xxxx" userpwd="xxxx" rootpwd="xxxx" # 讀取iplist(逐行存儲IP地址) cat /root/iplist | whi

AjaxJson實現自動補全

scrip serve rds data character style pragma get writer 1、index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"

基於RequestsBeautifulSoup實現自動登錄”

mem input set 用戶驗證 bin spa ida password live 基於Requests和BeautifulSoup實現“自動登錄”實例 自動登錄抽屜新熱榜 #!/usr/bin/env python # -*-

ssh采用expect實現自動輸入密碼登錄、拷貝

cep .html tro from 效果 方式 目標 led 交互 1. 引言 最近做了一個項目,需要頻繁與另一臺主機進行文件的傳輸;中間想到了很多方式:FTP、samba、curl等,但是還是感覺scp最好用。 SCP使用教程可參閱:http://www.jb51.

expect實現自動登入指令碼

寫在前面:目前在公司是一人一臺虛擬機器,大多數工作都要在虛擬機器上完成,為此每天要執行很多次【ssh [email protected]】指令登入虛擬機器;有很多方式解決這個問題,如使用xsh

python之pexpect實現自動互動

Pexpect 是 Expect 語言的一個 Python 實現,是一個用來啟動子程式,並使用正則表示式對程式輸出做出特定響應,以此實現與其自動互動的 Python 模組。 Pexpect 的使用範圍很廣,可以用來實現與 ssh、ftp 、telnet 等程式的自動互動;可以用來自動複製軟體安裝包並在不同機器

利用shell的expect實現自動登入伺服器

前言:使用ssh登入內網伺服器,每次都要輸入以下命令,次數多了就感覺很麻煩。 [email protected]:~$ ssh [email protected] [email protected]'s password: 現在,我們可以使用Expect實現複雜的互

利用shell的expect實現自動登錄服務器

touch 服務 install 過程 字符串 允許 chmod 獲取 word 前言:使用ssh登錄內網服務器,每次都要輸入以下命令,次數多了就感覺很麻煩。 zrj@zrj:~$ ssh [email protected] [email protected]‘s passw

mac使用expect實現自動登入跳板機

之前一直手動輸入密碼來登入跳板機,換了新公司要跳兩次很麻煩  網上看到了expect很好用  記錄下 mac上安裝expect 和 ga-cmd使用expect實現自動登入的自行優化指令碼如下 #這個是expect互動的指令碼,支援輸入引數 #!/us

redis做快取手動更新,redisgearmand實現自動更新,redis高可用配置

實驗主機3臺: server11:redis快取伺服器 server12:mysql伺服器:client serever13:ngnx+php-fpm,gearmand server,worker server11: 首先安裝redis伺服器 ser

linux使用expect實現自動登入(自動輸入密碼)

小蝙個人比較懶,每次都要登入多臺伺服器上工作,都要檢視note,什麼ip啦,埠啦,使用者名稱啦,密碼啦如果只有一個,那還是挺好記的,但是如果有10個,甚至更多,而且為了安全,每個伺服器的密碼都不一樣,ip和埠也不一樣,這樣就非常痛苦了,顧小蝙利用了一下expect軟體,用指令

ASP.Net之使用CookieSession實現自動登入

一、UserLogin.aspx程式碼 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserLogin.aspx.cs" Inherits="UserLoginNameSpace" %>

expect實現shell指令碼的自動互動

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

使用expect實現shell自動互動

shell指令碼需要互動的地方可以使用here文件是實現,但是有些命令卻需要使用者手動去就互動如passwd、scp 對自動部署免去使用者互動很痛苦,expect能很好的解決這類問題。 expect的核心是spawn expect send set spawn 呼叫

linux shell使用expect實現sftp的自動互動

<pre name="code" class="plain">vim exec_expect_sftp.sh #/usr/bin/expect -f #引數1 usrname 引數2 passwd 引數3 ip 引數4 dir set userna [linde

UNIX/LINUX使用expect實現人機自動互動功能

expect用法 [#!/usr/bin/expect] 這一行告訴作業系統腳本里的程式碼使用那一個shell來執行。這裡的expect其實和linux下的bash、windows下的cmd是一類東西。 注意:這一行需要在指令碼的第一行。 [

linux shellexpect自動互動混合編碼

因為使用到sftp,只能用互動方式輸入密碼,但是人工互動又不方便,想考慮自動,查詢資料發現expect方式可以實現一、安裝expectroot 許可權下,yum安裝命令:yum -y install expect二、#!/bin/bash pwd='123456' ls_d

使用expect實現ssh自動互動

#!/bin/sh# /exec expect -- "$0" ${1+"[email protected]"}exp_version -exit 5.0if {$argc!=2} {send_user "usage: remote-exec command password/n"send_user

Linux - 通過expect工具實現指令碼的自動互動

目錄 1 安裝expect工具 2 expect的常用命令 3 作用原理簡介 3.1 示例指令碼 3.2 指令碼功能解讀 4 其他指令碼使用示例