linux expect 案例
1、linux expect命令,它類似於shell、window中的cmd。本身就是命令
2、如果沒有需要安裝
yum info expect
yum -y install expect
如果不行使用原始碼安裝吧
3、man expect
案例1:
[[email protected] ~]# expect -c 'expect "\n" {send "pressed enter\n"}' 互動式的,按回車鍵就會輸出pressed enter,並換行
案例2:
vi ./myexpect.sh
內容如下(實現自動登入):
#!/usr/bin/expect
set timeout 30
spawn ssh -l root 192.168.216.112 root為登入使用者,spawn 代表執行命令;ssh -l代表登入使用者
expect "password:" 等待出現password
send "root\r" root為登入密碼
interact 使用者停留在遠端伺服器上
案例2的兩種執行方式:
expect ./myexpect.sh
授予指令碼執行許可權:
./myexpect.sh
案例3: 實現自動安裝jdk,使用nginx伺服器作為源
vi /root/auto.sh
內容如下:
#!/bin/bash
SERVERS="192.168.216.111 192.168.216.112" #這是我需要安裝軟體的兩臺機器的ip
PASSWORD=root #這是主機的密碼,建議各主機密碼設成一樣的
BASE_SERVER=192.168.216.111 #這是我主機的IP
auto_ssh_copy_id() {
expect -c "set timeout -1;
spawn ssh-copy-id $1;
expect {
*(yes/no)* {send yes\r;exp_continue;}
*password:* {send $2\r;exp_continue;}
eof {exit 0;}
}";
}
ssh_copy_id_to_all() {
for SERVER in $SERVERS
do
auto_ssh_copy_id $SERVER $PASSWORD
done
}
ssh_copy_id_to_all
for SERVER in $SERVERS
do
scp install.sh
ssh [email protected]$SERVER /root/install.sh
done
vi /root/install.sh
內容如下:
#!/bin/bash
BASE_SERVER=192.168.216.111
wget $BASE_SERVER/soft/jdk-8u152-linux-x64.tar.gz
tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local
cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk1.8.0_152/
export PATH=$PATH:$JAVA_HOME/bin:
EOF
執行測試
授予兩個檔案可執行許可權
chmod +x install.sh boot.sh
執行第一個指令碼即可
./boot.sh
案例4、配置好hadoop,然後遠端scp傳送到每一個節點:
程式碼自己寫....
相關推薦
linux expect 案例
1、linux expect命令,它類似於shell、window中的cmd。本身就是命令 2、如果沒有需要安裝 yum info expect yum -y install expect 如果不行使用原始碼安裝吧 3、man expect 案例1: [[email
【轉】shell expect spawn、linux expect 用法小記 看著舒服點
ssh username 英文 認識 exe 無法找到 usr 過去 操作 使用expect實現自動登錄的腳本,網上有很多,可是都沒有一個明白的說明,初學者一般都是照抄、收藏。可是為什麽要這麽寫卻不知其然。本文用一個最短的例子說明腳本的原理。 腳本代碼如下: #####
linux expect 的使用
bin expect 重復 end 輸入密碼 class light 密碼 spawn expect 可以讓一些需要交互的命令自動完成,如 ssh 連接的適合需要輸入密碼。 也就是說,某些重復的操作我們可以使用該命令完成,比如 ssh 連接到服務器,然後進到某個項目目錄,進
[轉載] linux expect spawn的用法
linux expect spawn的用法 https://www.cnblogs.com/jason2013/articles/4356352.html 首先,要安裝expect,linux expect的安裝 1.安裝相應的包 yum ins
Linux expect使用,使用者互動的福音
經常遇到Linux需要使用者互動的操作,而且是大量的重複操作,所以。。。。 expect 解決你的問題 如下就是一個簡單的例子 寫個 login.sh #!/usr/bin/expect set timeout 100 set password "123" spawn ss
Linux-expect指令碼
expect是基於tcl演變而來的,所以很多語法和tcl類似,基本的語法如下所示: 首行加上/usr/bin/expect spawn: 後面加上需要執行的shell命令,比如說spawn sudo touch testfile expect: 只有spawn執行的命令結
linux expect自動切換使用者
背景 我需要寫這樣一個指令碼 但是又不想在切換使用者的時候手動輸入密碼,於是我找到了expect這樣一個東西。它可以實現自動向伺服器中輸入的功能。 安裝 我用的是這個 https://www.cnblogs.com/daojian/archive/2012
Linux-expect指令碼-編寫一個expect指令碼
1.宣告expect #!/usr/bin/expect -f 2.設定超時時間,獲取引數 set ip [lindex $argv 0 ] //接收第一個引數,並設定IP set password [lindex $argv 1 ] //接收第二個引數,並設定密碼 set timeout 10
Linux-expect腳本-編寫一個expect腳本
time expect exp pre pwd send 記得 pass 命令 1.聲明expect #!/usr/bin/expect -f 2.設置超時時間,獲取參數 set ip [lindex $argv 0 ] //接收第一個參數,並設置IP set pass
linux expect, spawn用法小記
使用expect實現自動登入的指令碼,網上有很多,可是都沒有一個明白的說明,初學者一般都是照抄、收藏。可是為什麼要這麼寫卻不知其然。本文用一個最短的例子說明指令碼的原理。 指令碼程式碼如下: #####################################
linux expect的使用
Expect是一個免費的程式設計工具語言,用來實現自動和互動式任務進行通訊,而無需人的干預。Expect的作者Don Libes在1990年開始編寫Expect時對Expect做有如下定義:Expect是一個用來實現自動互動功能的軟體套件 (Expect [is a] software suite for
Linux expect使用摘要
expect互動,包括三個檔案:bash.sh、expect.exp、ip.list(預設在同一個目錄下) 執行有兩種方式,1.sh bash.sh 根據ip.list表來執行;2.expect.exp x.x.x.x單個ip執行 後面發現在expect指令碼
shell expect spawn、linux expect 用法小記 看著舒服點
使用expect實現自動登入的指令碼,網上有很多,可是都沒有一個明白的說明,初學者一般都是照抄、收藏。可是為什麼要這麼寫卻不知其然。本文用一個最短的例子說明指令碼的原理。 指令碼程式碼如下: #####################################
linux expect詳解(ssh自動登入)
shell指令碼實現ssh自動登入遠端伺服器示例: #!/usr/bin/expect spawn ssh [email protected] expect "*password:" send "123\r" expect "*#" interact Expect是一個用來處理互動的命
每次進步一點點——linux expect 使用
1. 介紹 expect是建立在tcl(參見:Tcl/Tk快速入門 )基礎上的一個工具,它可以讓一些需要互動的任務自動化地完成。相當於模擬了使用者和命令列的互動操作。 一個具體的場景:遠端登陸伺服器,並執行命令 登入時輸入密碼需要互動,bash指令碼無法完
linux expect 自動登入交換機儲存配置
telnet.exp 檔案內容如下: #!/usr/bin/expect -f set ip [lindex $argv 0 ] set username [lindex $argv 1 ] set password [lindex $arg
linux expect簡介及安裝
簡介: 我們通過Shell可以實現簡單的控制流功能,如:迴圈、判斷等。但是對於需要互動的場合則必須通過人工來干預,有時候我們可能會需要實現和互動程式如telnet伺服器等進行互動的功能。而Expect就是用來實現這種功能的工具。 Expe
linux expect spawn的用法
命令在功能:我們通過Shell可以實現簡單的控制流功能,如:迴圈、判斷等。但是對於需要互動的場合則必須通過人工來干預,有時候我們可能會需要實現和互動程式如telnet伺服器等進行互動的功能。而Expect就使用來實現這種功能的工具。 首先,要安裝expect,linux
linux expect的send,expect,spawn,interact
Expect是一個用來處理互動的命令。藉助Expect,我們可以將互動過程寫在一個指令碼上,使之自動化完成。形象的說,ssh登入,ftp登入等都符合互動的定義。下文我們首先提出一個問題,然後介紹基礎知四個命令,最後提出解決方法。 問題 如何從機器A上ssh到機器B上,然
linux中生成考核用的GPT分區表結構修復案例
linux 數據恢復 gpt 分區損壞 目的:用於生成大量模擬破壞GPT分區結構案例,並生成唯一方式修復後的評判方法。故障:在一個完整的GPT分區磁盤上,丟失了GPT主分區表,或備份分區表。要求: 1、利用WINHEX手工方式,修復給定鏡像文件的分區結構。 2、不得對現存主分區表或