expect 一些實踐

2021-09-28 19:30:44 字數 1302 閱讀 7075

expect #自動應答命令用於互動式命令的自動執行

spawn #expect中的監控程式,其執行會監控命令提出的互動式問題

send #傳送問題答案給互動命令

「\r」 #表示回車

exp_continue #當問題不存在時繼續回答下邊的問題

expect eof #問題回答完畢退出expect環境

interact #問題回答完畢留在互動介面

set name [ lindex $ar** n] #定義變數

shell指令碼中定義時間變數的寫法:

time=`date "+%y%m%d"`

==》直接照搬到expect中,設定的變數是不生效的:

set time `date "+%y%m%d"`

這樣的寫法是錯誤的,無法識別。

==》應該這樣寫:

set time [exec date +%y%m%d]

才是正確的寫法。

二、shell指令碼和expect指令碼的結合

將expect加入到shell指令碼後 set 定義的變數會失效;

解決辦法 :將變數提到expect之外定義

#!/bin/bash

time=`date "+%y%m%d"`

expect << eof

cd /***

spawn scp user@ipaddr:/ /

set timeout 300

expect "assword:"

send "passwd\r"

sleep 5

eof

#!/bin/bash

password=123456

port=1080

rpm -qa |grep expect >>/dev/null

if [ $? -eq 1 ] ;then

yum -y install expect

else

echo "expect is enabled"

fiwget --no-check-certificate -o *********x-go.sh

chmod +x ******xxs-go.sh

expect

spawn bash ******x-go.sh

expect

"port:"

"default:"

"start"

}sleep 30

expect eof

django websocket實踐和一些相關知識

主要使用的是channels,參考官方教程寫的 教程已經寫的很全了。解釋很好.所以需要新建python環境,新建git,安裝包等等。開啟新建的資料夾,在裡面建乙個名為 pip.ini的檔案,並在檔案中輸入如下資訊儲存 global timeout 6000 index url trusted hos...

css modules的一些實踐

本人使用vue引入css modules做實踐。vue文件檢視 以及 簡單的配置css loader 然後上新增module屬性,就自動生成乙個 style的計算屬性可以用了 template p class style.red span class style.redbg this should ...

敏捷實踐的一些過程項

上次說到了我們在專案中 敏捷溝通 的實踐,順著再補充幾點專案過程中的敏捷實踐。任務認領,我們沒有完全實施,現在是利用開發經理對工程師能力的了解安排任務。任務認領的假設是 每個人都是足夠聰明和職業的,應該被安排在最合適的工作上,所以最了解自己能力的就是自己,於是應該每個人制定自己的工作計畫,其他人幫著...