當前位置:首頁 » 編程軟體 » shell腳本expect

shell腳本expect

發布時間: 2022-06-24 01:44:00

Ⅰ 請問各位大神,如何在shell中調用expect腳本,並將剛剛在shell中處理後的結果傳給expect

使用變數保存處理結果,然後在調用expect
#!/bin/sh
expect <<!
spawn ssh [email protected]
expect "*Password*"
send "xxx\r"
expect ">"
send "mkdir xxxxx\r"
send "exit\r"
expect eof
!

Ⅱ 如何在bash shell腳本中使用expect

1、首先檢查你機器上有沒有expect(我知道ubuntu默認是沒有安裝的)
ls /usr/bin | grep expect 看看有沒有裝expect
2、沒有的話需要安裝
在ubuntu的軟體安裝中心,搜索tcl 和tk 和expect並安裝;
也可以命令行輸入sudo apt-get install tcl tk expect
3. 環境ready了後,可以在shell腳本中用Here document的方式使用expect命令
Here document格式如下:
expect <<!
這中間都是expect命令
!
為防止錯誤,建議都頂格寫,前面不要留空格。

Ⅲ shell腳本中,用expect命令如何實現自動遠程操作,折磨我好久了..

既然$無法匹配,我覺得你完全可以單獨配置一個環境變數,比如說我登錄到伺服器後
echo "SCPGOGOGO"
expect捕獲到SCPGOGOGO 開始執行scp
expect好久不寫了,不知道$?判斷怎麼寫,如果要寫我的翻書了。

當判斷$?為真,然後執行send "java -jar"。不過我想在仔細思考一下可能會有更好的邏輯。
我不太稀飯expect這種交互寫法。

因為有更多簡單便捷的方法,不知道你為什麼不用。
sshpass ssh密鑰 簡單點直接用sh操作ssh就可以達到你想要的效果,why死扣expect?,
各種集中式管理軟體(puppet,salt,ansible...)都是為了方便遠程操作管理的東西why?不用?
本來1小時解決的問題,死扣expect花了好幾天,這種把一個問題發展到解決2個問題的做事方法不可取。

Ⅳ 在shell(#!/bin/sh)腳本中怎麼使用expect命令,需要添加什麼環境變數嗎,正確即給分

首先你在命令行執行env expect,看expect能不能用,如果不能用,那麼你需要找到expect執行文件路徑,加入到PATH環境變數中去。

然後就可以在shell中使用了,有兩種方式實現:
1.用here document
2.用expect -c

$cat 1.sh
#!/bin/sh
output=`expect <<EXP
puts "hello world"
EXP
`
echo "expect 1 output:"
echo $output
echo
echo "expect 2 output:"
expect -c 'puts "hello world!"'

$chmod 777 1.sh

$./1.sh
expect 1 output:
hello world

expect 2 output:
hello world!

Ⅳ shell腳本嵌套expect後如何繼續執行shell命令

./suroot.sh 中為什麼不直接申明 #!/usr/bin/expect ?
然後,expect -c " xxx " 就可以直接寫成 xxx 了。

Ⅵ shell中 expect使用

send "pwd" 之後應該繼續 expect 一個提示符,或者等待一個 timeout 的時間,然後send 一條命令 touch file1,如此繼續。

不考慮 expect 練習的目的的話,完全這個任務最方便的是用 sudo 代替 su,可配置 sudo 執行你這個操作時不用密碼。

Ⅶ 如何在shell腳本中調用expect實現自動化

簡單的腳本,參考下
要交互的腳本(talk.sh)如下:
#!/bin/bash
echo "Who are you?"
read who
echo "Hello,$who"
echo "Are you happy?"
read answer
echo "why?"
read answer

自動化腳本:
#!/bin/bash

expect<<- END
spawn ./talk.sh
expect "who"
send "firefly\n"
expect "happy?"
send "Yes,I am happy.\n"
expect "why?"
send "Because it worked!\n"
expect eof
exit
END

Ⅷ shell 腳本 expect的調用

你的腳本應該完成這樣的功能,不知是不是你要的:

通過 expect 自動 su 到 root 賬戶,然後等待用戶輸入,直到用戶輸入 exit 或 ^D 之類的退出 root 後,繼續執行後面的命令:創建一個文件並顯示一個字元串。

Ⅸ expect里如何執行shell腳本

shell編寫的except自動化功能有限, 不能做到介面的調用, 對執行的結果很難評估的哦, 建議使用python程序搞定, 樓主上面的需求, 都不是問題, 這個可以幫助搞定, 另外, wo最近開發了一個自動化的批量管理伺服器的程序, 裡面就有上述功能!如果感興趣的話, 可以一起討論一下,看看my網名就行了

熱點內容
vbnet資料庫開發 發布:2022-07-05 14:50:55 瀏覽:293
leu存儲 發布:2022-07-05 14:48:09 瀏覽:364
gzip解壓java 發布:2022-07-05 14:45:34 瀏覽:386
S7伺服器管理系統是什麼 發布:2022-07-05 14:44:07 瀏覽:479
直播團隊需要哪些人員配置 發布:2022-07-05 14:42:08 瀏覽:134
python爬蟲瀏覽器 發布:2022-07-05 14:41:31 瀏覽:381
紫色直播源碼 發布:2022-07-05 14:40:19 瀏覽:803
聖水怎麼配置 發布:2022-07-05 14:38:38 瀏覽:440
高考前緩解壓力 發布:2022-07-05 14:38:36 瀏覽:23
excel存儲過程 發布:2022-07-05 14:30:24 瀏覽:432