expect模擬偽終端來實現免人機互動

2021-05-26 20:27:24 字數 528 閱讀 5693

最近遇到乙個小問題,自動化

指令碼需要在各普通使用者間su來su去,渴望非人際互動,瞬間想到的方法是通過重定向、pipe來解決。

但是su不同於passwd程式,它的邏輯比較簡單,沒有一些額外的引數入口來提供重定向和pipe。

它必須要從終端上得到使用者的輸入,所以不可避免的要人際互動。

那麼可以用什麼方法來實現自動輸入密碼嗎?答案就是expect

它可以模擬乙個偽終端程式騙過系統,實現非人際互動。(

不過密碼是明文的,適合於沒有安全性要求的自動化),基本**如下:

#!/usr/local/bin/expect -f

spawn su 使用者1           //啟動乙個su的程序

expect "password:*"     //等待文字password:,有點類似ld裡的捕獲檢查點

sleep 1                 //沉睡一秒

send "使用者1對應的密碼\r"  //傳送密碼給程序

expect eof              //結束

expect指令碼連線遠端終端思路

1,建立vim文字編輯器 vim text.expect 2,編輯指令碼內容 1 usr bin expect 約定標記,告訴系統該指令碼使用的解析器 2 set timeout 5 設定超時時間,單位為秒,預設為10s 3 set username lindex argv 0 set userip...

在終端模擬下雪

及解釋 charles的皮卡丘 試試在終端模擬下雪的效果唄?比較簡單,其實我寫這篇部落格的目的是講錄製gif工具 screentogif 它是一款免費開源 體積極小的gif錄製工具。其提供的視窗對齊功能是我等眾多強迫症患者的福音啊。也支援一定程度的編輯。匯出時建議選擇 2.0 編碼器,畫質和大小都比...

安全終端模擬軟體推薦

1 xshell xshell 是乙個強大的安全終端模擬軟體,它支援ssh1,ssh2,以及microsoft windows 平台的telnet 協議。xshell 通過網際網路到遠端 主機的安全連線以及它創新性的設計和特色幫助使用者在複雜的網路環境中享受他們的工作。xshell可以在window...