1. 程式人生 > >expect 指令碼中可實現非互動式操作

expect 指令碼中可實現非互動式操作

如何用expect自動幫你發郵件(自動互動)

[[email protected] ~]# mail -s ddd root
vim sss.sh
#! /bin/bash
expect <<EOF    (開頭)
spawn ssh 192.168.4.11
expect "?"  (這個問號的地方一定要跟命令列提示一模一樣才行!!!!)         {send "yes\n"}     {傳送 “yes” 回車}
expect "password"  期待“祕密 ”         {send "123456\n"}    {傳送“123456”\n}
expect "#"     (#號表示上一個執行完成了回車了)                {send "touch /dev/123.txt\n" }
expect "#"                  {send "exit\n"}
EOF   (結尾)
\r回車    \n換行

[[email protected] ~]# mail -s test root << EOF  寫郵件
> test mail
> hell world
> EOF


通過迴圈批量操作,版本2:
            
        
        
        
        
        
[[email protected] ~]# vim  expect_ssh.sh
#!/bin/bash
for i in 10 11
do
expect << EOF
spawn ssh 172.25.0.$i                               #//建立互動式程序
expect "password:" { send "123456\n" }             #//自動傳送密碼
expect "#   { send "pwd > /tmp/$user.txt \n" }      #//傳送命令
expect "#"  { send "exit\n" }
EOF
done
注意事項:
expect指令碼的最後一行預設不執行
如果不希望ssh時出現yes/no的提示,遠端時使用如下選項:
# ssh -o StrictHostKeyChecking=no server0

相關推薦

expect 指令碼實現互動式操作

如何用expect自動幫你發郵件(自動互動) [[email protected] ~]# mail -s ddd root vim sss.sh #! /bin/bash expect <<EOF    (開頭) spawn ssh 192.168.

golangselect實現阻塞及超時控制

// select.go package main import ( "fmt" "time" //"time" ) func main() { //宣告一個channel ch := make(chan int) //宣告一個匿名函式,傳入一個引數整型

Java怎樣實現批量刪除操作(Java對資料庫進行事務處理)?

本人開發的一個安卓版app小遊戲,瘋狂猜明星android版,圖示看起來很搞笑,有點京劇變臉的味道。朋友們小手一抖,下載支援下。謝謝了 本文是記錄Java中實現批量刪除操作(Java對資料庫進行事務處理),在開始之前先來看下面這樣的一個頁面圖:  上面這張圖片顯示的是從

基於對話方塊的MFC程式實現模態子視窗在工作列顯示圖示以及視窗左上角加圖示

在基於對話方塊的MFC程式中為了使子視窗同父視窗一樣在工作列顯示圖示,並且在子視窗最小化時可以在工作列顯示圖示,可以在子視窗的OnInitDialog函式中呼叫函式ModifyStyleEx進行修改視窗的樣式實現具體程式碼為: ModifyStyleEx(WS_EX_TOO

IIS https綁定主機頭方法(實現禁止直接通過IP訪問,好像還可以實現IIS綁定多個https<是使用多個單域名證書,多域名證書>)

多個 nbsp app for iis 直接 fig protoc eight 步驟: 打開:%systemroot%\SYSTEM32\inetsrv\config\ 打開:applicationHost.config 查找:<binding protocol="

expect實現指令碼ssh密碼輸入

#!/usr/bin/expect if { [llength $argv] < 4 } {         puts "Usage: $argv0 ip user passwd port commands timeout"         exit 1 } ma

在shell指令碼使用expect實現scp傳輸問題

1.安裝expect expect用於shell指令碼中自動互動,其是基於tcl程式語言的工具。所以安裝expect首先安裝tcl。本文中使用的是expect5.45和tcl8.6.6。 安裝tcl

C#.NET 程序員的福利,自己寫的一個XML操作類,實現像jquery一樣方便的xml操作,且不用專門去處理命名空間。

console region ignorecas node 處理 命名空間 void clone 一個 此工具是進入一家新公司之後實現的,主要是工作當中操作 xml 的時間太多,因為公司按任務計“工作量”,領導給我安排的時間遠遠不夠完善此工具【悲哀的

一、實現一個特殊的棧,在實現棧的基本功能的基礎上,再實現返回棧最小元素的操作

empty util run print pri ont com res 字符串 請指教交流! 1 package com.it.hxs.c01; 2 3 import java.util.Stack; 4 5 /* 6 實現一個特殊的棧,在實現棧的基本

expect實現交互

set bin ret expec command pass if條件語句 5.4 vim 一、exepct介紹 expect命令是一個實現交互功能的軟件套件,是基於TCL的腳本編程語言,在企業運維中,系統會以交互的形式要求運維人員輸入指定的字符串,之後才能繼續執行命令。例

在VR模擬用鼠標操作電腦並實現簡單畫圖的小程序

npr 事件 line 屏幕 reset relative max using false (圖沒有錄好,明天換一下) 一、概述 1.實現的基本操作是:   1)用手柄抓住黃色的方塊代表手抓住鼠標。   2)通過移動手柄模擬鼠標移動,電腦屏幕上的光標跟著移動。   3)當

將mysql資料庫的建表語句修改成green plum資料庫執行的指令碼

#用來獲取輸入的對應的表名稱的建表語句 #首先輸入需要獲取的mysql或者sql server的資料庫表名稱,到對應的資料庫中抓出建表語句, #然後,將建表語句進行對應的修改,形成可以在pg中可用的語句 #連線mysql資料 import pymysql import sys impor

Linux 下 expect 指令碼語言互動處理常用命令

Linux 下 expect 指令碼語言中互動處理常用命令 Linux 下 expect 指令碼語言中互動處理常用命令 1. #!/usr/bin/expect 告訴作業系統腳本里的程式碼使用那一個 shell 來執行。這裡的 expect 其實和 Linux 下的 bash、win

如何在react實現伸縮的echarts圖表

1,基礎篇 我們在使用echart,基本使用,可以使用script標籤引入的方式進行使用,也可以使用npm的方式,進行載入echarts。 script的方式,非常簡單,就像我們的jquery一樣,引入這樣的一個js檔案就可以使用echarts了。然後echarts的核心就是例項化一

變形卷積核、分離卷積?卷積神經網路十大拍案叫絕的操作

大家還是去看原文好,作者的文章都不錯: https://zhuanlan.zhihu.com/p/28749411 https://www.zhihu.com/people/professor-ho/posts 一、卷積只能在同一組進行嗎?-- Group convo

每天實現一個Rxjs的Operator之Map操作

在上一篇我們簡單實現了Observable.create,那麼如何在此基礎上實現Map操作呢。 對於如下程式碼,我們希望輸出2,4 Observable.create((observer) =&

Oauth2.0 oauth2-server-php的使用Demo,怎麼連線redis/實現thinkphp5/yii/Laravel使用

單點登入SSO 本片教程沒有華麗的說辭,只有實實在在的程式碼: https://github.com/liaoshengping/oauth2-php 如果你沒有接觸oauth2.0,先無腦用原生php的跑一邊,方便理解 Oauth2.0 開發準備: 下載之後先執行:co

卷積神經網路十大拍案叫絕的操作:卷積核大小好處、變形卷積、分離卷積等

文章轉自:https://www.leiphone.com/news/201708/0rQBSwPO62IBhRxV.html 從2012年的AlexNet發展至今,科學家們發明出各種各樣的CNN模型,一個比一個深,一個比一個準確,一個比一個輕量。我下面會對近幾年一些具有變革性的工作進行簡單盤點

實現在Java執行python程式碼或py指令碼傳引數)

最近用Java寫服務端程式時,遇到這樣一個需求:需要把用python寫的機器學習演算法部署到伺服器上,然後Java執行py指令碼,並且取得演算法執行的結果。在網上找了很久,有些跑不通,有些是基於windows的,我的伺服器是linux的,遇到了不少坑= =好不容易解決了,記錄

如何在shell指令碼實現 scp 檔案的時候不手動輸入密碼

在shell指令碼中實現 scp 檔案的時候不手動輸入密碼的指令碼如下: #!/usr/bin/expect -f set password 密碼 spawn scp 使用者名稱@目標機器ip:拷貝檔案的路徑 存放本地檔案的路徑  set timeout 300