日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
輕松自動化:學(xué)習(xí)使用 Linux 腳本 expect (linux 腳本 expect)

隨著現(xiàn)代技術(shù)的發(fā)展,計算機日益普及,人們?nèi)粘J褂糜嬎銠C的時間也越來越長,計算機的操作與管理也越來越復(fù)雜。因此,輕松自動化已經(jīng)成為計算機管理、操作的重要手段之一。在這個過程中,學(xué)習(xí)使用 linux 腳本 expect,不僅可以提高計算機操作效率,還可以減少犯錯的可能性,為我們的工作和生活帶來便利。

桑日ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

那么,什么是 Linux 腳本 expect 呢?它可以實現(xiàn)什么樣的功能呢?

Linux 腳本 expect 是一種自動化腳本語言,它能夠自動完成一些重復(fù)性、繁瑣的操作,同時也可以實現(xiàn)大批量、自動化運維管理,大幅度提高工作效率。expect 在 Linux 系統(tǒng)中被廣泛應(yīng)用,比如:在 SSH、Telnet、FTP、scp 等程序中,使用 expect 就可以寫出簡潔,高效的自動化操作腳本,使人工管理變得簡單、高效。

那么如何學(xué)習(xí) expect 呢?

我們需要了解 expect 的基本用法。

expect 主要由 expect 和 send 兩個命令組成。expect 負責(zé)捕捉需要處理的信息,send 負責(zé)處理要發(fā)送的信息。

expect 命令語法格式如下:

`expect [-bvd] [-c cmds] [-f file] [-i id] [-l var] [-n] [-p pat] [-q] [-t sec] [timeout] [cmds]`

其中,-b 選項表示將 expect 進程轉(zhuǎn)換為一個背景作業(yè),-c 選項表示在命令行中直接執(zhí)行 cmds 命令,-f 選項表示從 file 文件中讀取 cmds 命令。-i 選項表示使用指定的系統(tǒng)調(diào)用,-l 選項指定變量名,以便在 expect 中使用全局變量。-p 選項表示在等待指定的模式時不回顯,-q 選項表示退出 expect 并返回一個退出值,最后三個選項與目標主機的交互有關(guān)。

send 命令語法格式如下:

`send [-s string] [-h] [-p] [-i id] [-l] [-n] [–] string …`

其中,-s 選項表示停止字符串。-h 選項表示僅發(fā)送字符串。-p 選項表示不寫回自己,-i 選項表示輸出的 ID。-l 選項表示發(fā)送時使用的延遲。-n 選項表示在數(shù)據(jù)流結(jié)束前不要發(fā)送換行符。string 參數(shù)表示要發(fā)送的字符串。

接下來,我們來看看一個簡單的 expect 腳本的編寫。

expect

expect “password:”

send “123456\n”

expect

以上腳本的意思就是,當程序運行到 password: 時,自動輸入密碼 123456 并執(zhí)行回環(huán)函數(shù),退出 expect。

除了以上這個簡單的例子外,還有很多實用的 expect 腳本編寫方法。

比如,我們可以使用 expect 進行多服務(wù)器密鑰批量分發(fā)。

#!/bin/bash

username=”root”

password=”123456″

ip_list=(“192.168.10.21” “192.168.10.22” “192.168.10.23”)

for ip in ${ip_list[@]}

do

expect

spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $username@$ip

expect {

“(yes/no)” {send “yes\r”;exp_continue}

“password:” {send “$password\r”}

}

expect eof

EOF

done

以上腳本的功能是批量將公鑰推送到多臺服務(wù)器上,以便進行密碼-less 登陸。

此外,expect 還可以用于自動化 FTP 文件上傳、Telent 自動登錄等等。上面的例子僅僅是為了說明 expect 的基本用法,實際使用中還需要根據(jù)具體需求進行變化。

學(xué)習(xí)使用 Linux 腳本 expect 可以讓我們的工作更加高效、便捷,為我們的生活和工作帶來便利。在使用 expect 過程中,我們需要注重實踐,多多發(fā)揮自己對腳本的理解和想象力,可以在學(xué)習(xí)過程中挖掘出更多 expect 的奧秘。

相關(guān)問題拓展閱讀:

  • linux 使用expect腳本ssh到遠程無法使用RZ為什么
  • linux下用expect spawn時的問題

linux 使用expect腳本ssh到遠程無法使用RZ為什么

因為網(wǎng)絡(luò)中斷相當于跑程序的控制臺關(guān)閉。這時控制臺里的程序會被關(guān)閉。

你可以用nohup 程序名銷晌轎 &,這樣即使控制臺關(guān)閉謹茄程序虧肆照樣在后臺運行。

linux下用expect spawn時的問題

*.log 是shell中的用法,

scp或者其他命令本身并不直接將 * 替換成匹配的多個滾手文件名。

建議你將 expect 腳本做成一次只上傳一個文件,這個文件名由輸入?yún)?shù)來決定

scp :/home

expect “password:” {send “\n”}

interact

然后再寫一個bash腳本,腳本調(diào)用上面的expect腳本來上傳所有的文件,如:

for f in `ls /log/*.log`

do

expect_script /log/$f

done

即可。

另,像這陪仿種備份文件,用大亂嫌 rsync 更方便,供參考。

可以使用如下方法

1. 在客戶機上產(chǎn)生一對密鑰:

#ssh-keygen -d #產(chǎn)生dsa密鑰孝談

或者:

#ssh-keygen -t rsa #產(chǎn)生rsa密鑰

2. 在服務(wù)器上建立目錄 /root/.ssh,并設(shè)則毀置權(quán)限:

#chmod/root/.ssh

3. 把客戶機上生成的公鑰拷貝到服務(wù)器的/root/.ssh目錄下:

#scp /root/.ssh/id_dsa.pub root@服務(wù)器IP:/root/.ssh/authorized_keys

或?qū)O慎備者:

#scp /root/.ssh/id_rsa.pub root@服務(wù)器IP:/root/.ssh/authorized_keys

4. 這樣,就可以從客戶機直接登入ssh服務(wù)器,而不需要密碼了,可使用的命令包括ssh, scp和sftp。例如:

關(guān)于linux 腳本 expect的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都服務(wù)器托管選創(chuàng)新互聯(lián),先上架開通再付費。
創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)-網(wǎng)站建設(shè),軟件開發(fā)老牌服務(wù)商!微信小程序開發(fā),APP開發(fā),網(wǎng)站制作,網(wǎng)站營銷推廣服務(wù)眾多企業(yè)。電話:028-86922220


分享名稱:輕松自動化:學(xué)習(xí)使用 Linux 腳本 expect (linux 腳本 expect)
本文來源:http://www.dlmjj.cn/article/cdsjpsh.html