1. 程式人生 > >expect 極簡示例,用指令碼自動填寫要輸入的內容

expect 極簡示例,用指令碼自動填寫要輸入的內容

極簡示例、清爽易懂易修改

【以下是 my.sh 內容,讀取使用者輸入並回顯的普通 shell 指令碼】
#!/bin/sh
read -p "Input 1: " input
echo "My Input 1 is: $input"
read -p "Input 2: " input
echo "My Input 2 is: $input"

【執行一下看看】
[[email protected] ~]# sh my.sh
Input 1: abc# 手動輸入 abc
My Input 1 is: abc
Input 2: # 手動輸入 回車鍵
My Input 2 is: 

【以下是 test.sh 內容,呼叫 my.sh 指令碼,並根據提示自動輸入對應內容】
#!/usr/bin/expect
set X www
set timeout 1
spawn ./my.sh
expect "Inputi 1: "
send "abc\r"
expect "Input 2: "
send "\r"
expect eof
exit

【執行一下看看】
[

[email protected] ~]# chmod +x test.sh# 先加執行許可權
[[email protected] ~]# ./test.sh 
spawn ./my.sh
Input 1: abc
My Input 1 is: abc
Input 2: 
My Input 2 is: 
嗯嗯,完全一樣

【如果你有變數要操作,可以這樣設定】
#!/usr/bin/expect
set X www
set timeout 1
spawn ./my.sh
expect "Inputi 1: "
send "abc\r"
expect "Input 2: "
send "$X\r"
expect eof
exit

【執行結果】
[
[email protected]
~]# ./test.sh 
spawn ./my.sh
Input 1: abc
My Input 1 is: abc
Input 2: www
My Input 2 is: www

相關推薦

expect 示例指令碼自動填寫輸入內容

極簡示例、清爽易懂易修改【以下是 my.sh 內容,讀取使用者輸入並回顯的普通 shell 指令碼】#!/bin/shread -p "Input 1: " inputecho "My Input 1 is: $input"read -p "Input 2: " inpute

Matlab中一種指令碼自動配置Simulink模型設定的方法

1. 將模型設定配置好後,進入Model Explore 中,選中Configuration,右鍵後選擇Export,生成一個M函式的檔案。 2. 匯出檔案中的內容就是各詳細的配置項。部分內

51JOBjavascript指令碼自動重新整理簡歷

方式(一) 具體操作: 在51Job相應頁面,找到“重新整理”按鈕,審查元素,如下圖: 然後 // F12控制檯(Console),輸入一下腳本回車即可。 // refresh_resume函式引數,是你自己的51Job重新整理按鈕下對應的引數 setIn

超詳細 Nginx 教程傻瓜一看也會!

什麼是Nginx? Nginx (engine x) 是一款輕量級的Web 伺服器 、反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器。 什麼是反向代理? 反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連線請求,然後將請求轉發給內部網路上的伺服器,並將從

【 Karler 專欄】 DvlpOkHttp retrofit2 封裝接入。

DvlpOkHttp retrofit2 極簡封裝,極簡接入。 範例請求URL http://wanandroid.com/article/list/0/json" 對應json { “data”:{ “curPage”:1, “offset”:0, “over”:

SSM(Spring+SpringMVC+MyBatis)開發示例

一、MyBatis 百度百科:MyBatis 是一款優秀的持久層框架,它支援定製化 SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和對映原生資訊,將介面和 Java

hexo next主題深度優化(十)博文加密不需要外掛模式相對安全融合pjax。

如果想自定義功能樣式的往下面看看也許會有點收穫,為了避免讀者不耐煩的看我的廢話,所以移到了下面。 本人部落格:mmmmmm.me 效果: 程式碼: /blog/themes/next/layout/_layout.swig,找到main標籤在吐下程式碼處新增自定義的sw

Linux crontab的使用方式sh指令碼的編寫sh指令碼自動啟動tomcat伺服器sh監控系統執行情況

1、如果想使用Linux crontab(類似java quartz),需要先啟動crontab.關於crontab的啟動、關閉、重啟、重新載入配置的方式如下: /sbin/service crond start //啟動服務 /sbin/service crond s

Jquery Ajax 跨域之JSONP方式示例,服務端是.net的ashx

使用JQuery Ajax的JSONP方式跨域訪問是非常簡便了,缺點是隻能使用GET方式,而且靈活性非常差。 稍作小結: 原理:其實是JQuery利用HTML標籤<script>可以跨域的這一特性演變而來,所以必須應用JQuery 缺點:只能get並且呼叫極為不

超實用的 Nginx 教程覆蓋了常用場景

開發十年,就只剩下這套架構體系了! >>>   

selenium自動填寫調查問卷

代理 webdriver selenium 查看ip range [1] source .aspx page # 查看ip是否有用 # driver.get("http://httpbin.org/ip") # print(driver.page_sou

學習ThinkPHP3.2.2:video9“C”函式讀取配置檔案內容

在配置檔案 D:\wamp\www\wish\APP\Home\Conf\config.php 中配置一下內容: return array(     //'配置項'=>'配置值'     'myvar' => 'valueofaaa1' ); 在控

[APICloud實用教程]檢測輸入已完成自動填寫下一個內容

APICloud檢測輸入已完成自動填寫下一個內容 在上一個部落格中APICloud簡易實現檢測輸入已完成,我們實現了檢測輸入已完成,現在我們再進一步,在此基礎上,實現檢測輸入已完成自動填寫下一個內容。 當我們需要自動填寫的內容,不希望被更改的時候,需要加上readonly屬性(對應如何增

Delphi自動填寫IE輸入

//自動填寫主要過程; procedure TForm1.FillIEForm(aValidatecode: String; bPost: boolean); procedure DoWithHtmlElement(aElementCollection:IHTMLEleme

expect 普通自動輸入密碼到root下執行命令

expect案例:當前服務器取消了直接使用root登錄服務器,只能使用普通用戶先登錄,然後再su - root 執行root下的命令。 shell腳本如下: #!/usr/bin/expect -fset password {root_password}spawn su - rootexpect "

Python指令碼自動運營多個自媒體平臺不寫稿坐等收錢只告訴你原理

使用此方法最低成本不超過120元/年,年收入根據你所選擇垂直行業和帳號多少以及哪些平臺來決定 我所說的最低成本是針對我而言來說的,辛苦點的可以做到0成本操作,喜歡冒險的總投入不會超過5000塊錢 首先第一步就是你要有自媒體帳號,帳號和平臺不限,根據你對平臺的理解來自行選擇使用那個平臺,

ApolloStudio高手之路(6):Python以方式讀寫OPC DA、OPC UA資料並實現UI控制元件自動繫結重新整理顯示

OPC(OLE for Process Control, 用於過程控制的OLE)是一個工業標準,OPC是為了連線資料來源(OPC伺服器)和資料的使用者(OPC應用程式)之間的軟體介面標準。資料來源可以是PLC,DCS,條形碼讀取器等控制裝置。隨控制系統構成的不同,作為資料來源的OPC伺服器既可以

ssh自動登入的shellexpect

ssh連線遠端伺服器,涉及到輸入密碼過程,因此就需要互動,要用到expect. 1.MAC機器上安裝expect,是用homebrew安裝。           brew  install  expect 2.明確expect命令的路徑      which expect  

C# EasyHook MessageBox 示例而全)

null ase form spa minor textbox type hwnd 重新編譯 完整代碼,原創無藏私,絕對實用。Windows10 X64 下調試通過,對 w3wp.exe, sqlserver.exe,notepad.exe,iexporer.exe 註入後

U盤做系統安裝盤的方法

U盤 系統安裝盤 windows linux iso 現在的電腦/服務器大都支持U盤啟動,一些超薄便攜的筆記本電腦已沒有內置光驅,用U盤安裝系統的需求越來越多。下面介紹一下本人找到的一個用U盤做系統安裝盤的方法,非常簡便,只要會上網、會用電腦就會使用。該方法各種系統安裝盤都可以做,已用wi