中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

用織夢(mèng)做視頻網(wǎng)站福州百度分公司

用織夢(mèng)做視頻網(wǎng)站,福州百度分公司,網(wǎng)站建設(shè)設(shè)計(jì) 網(wǎng)絡(luò)服務(wù),網(wǎng)站集約化建設(shè)背景Linux筆記之expect和bash腳本監(jiān)聽輸出并在匹配到指定字符串時(shí)發(fā)送中斷信號(hào) code review! 文章目錄 Linux筆記之expect和bash腳本監(jiān)聽輸出并在匹配到指定字符串時(shí)發(fā)送中斷信號(hào)1.expect2.bash 1.expect 在Expect腳本中,你可以使用expect來監(jiān)聽程序輸出,…

Linux筆記之expect和bash腳本監(jiān)聽輸出并在匹配到指定字符串時(shí)發(fā)送中斷信號(hào)

code review!

文章目錄

  • Linux筆記之expect和bash腳本監(jiān)聽輸出并在匹配到指定字符串時(shí)發(fā)送中斷信號(hào)
    • 1.expect
    • 2.bash

1.expect

在Expect腳本中,你可以使用expect來監(jiān)聽程序輸出,并在輸出匹配特定的模式時(shí)發(fā)送一個(gè)中斷信號(hào)(如Control-C)。以下是一個(gè)使用expect腳本的基本示例,用于監(jiān)聽特定的輸出并發(fā)送中斷信號(hào):

例1

#!/usr/bin/expect# 啟動(dòng)你的進(jìn)程
spawn your_process# 設(shè)置一個(gè)超時(shí)時(shí)間,防止永遠(yuǎn)等待
set timeout 30# 監(jiān)聽輸出,直到匹配到 "pattern_to_match" 文本
expect "pattern_to_match"# 模式匹配后發(fā)送 Control-C 中斷信號(hào)
send "\003"# 繼續(xù)處理其他事情或結(jié)束腳本
expect eof

your_process 是你想要啟動(dòng)和控制的程序。pattern_to_match 是你期待輸出中出現(xiàn)的文本模式。

例2

#!/usr/bin/expect -f# 設(shè)定無超時(shí)限制
set timeout -1# 啟動(dòng)你的進(jìn)程
spawn ./your_program# 使用expect命令匹配輸出
expect {# 當(dāng)匹配到"特定文本"時(shí),執(zhí)行大括號(hào)內(nèi)的代碼"特定文本" {# 發(fā)送Control-C信號(hào)send "\003"# 可以選擇發(fā)送其他命令或打印信息send_user "已發(fā)送中斷信號(hào)(Control-C)。\n"}# 處理可能出現(xiàn)的其他情況"其他模式1" {# 對(duì)于其他模式1, 執(zhí)行對(duì)應(yīng)操作# ...}"其他模式2" {# 對(duì)于其他模式2, 執(zhí)行對(duì)應(yīng)操作# ...}# 如果發(fā)生超時(shí),處理超時(shí)情況timeout {send_user "操作超時(shí)。\n"exit 1}
}# 處理進(jìn)程結(jié)束
expect eof

在這個(gè)腳本中:

  1. spawn ./your_program 啟動(dòng)你想要監(jiān)控的程序。你需要將 ./your_program 替換為實(shí)際的程序命令。
  2. expect 命令用于監(jiān)聽程序的輸出。
  3. "特定文本" 應(yīng)該被替換為你希望匹配的輸出文本。
  4. 當(dāng)輸出匹配到 "特定文本" 時(shí),send "\003" 命令發(fā)送Control-C信號(hào),這通常會(huì)導(dǎo)致大多數(shù)命令行程序終止。
  5. send_user "已發(fā)送中斷信號(hào)(Control-C)。\n" 命令是可選的,用于向用戶反饋信息。
  6. "其他模式1""其他模式2" 代表了其他可能匹配的輸出模式,你可以根據(jù)需要添加或修改這些模式及其對(duì)應(yīng)的動(dòng)作。
  7. timeout 處理程序如果沒有在預(yù)定時(shí)間內(nèi)給出任何匹配輸出時(shí)的情況。

expect命令可以匹配輸出中的部分字符串,不需要整行或完整字符串匹配!

expect 命令可以匹配輸出中的部分字符串。expect 是一個(gè)用于自動(dòng)化交互式應(yīng)用程序的命令行工具,它使用 Tcl 語(yǔ)言的腳本。其核心功能是等待特定的字符串出現(xiàn)在程序的輸出中,然后根據(jù)腳本中定義的模式進(jìn)行響應(yīng)。

expect 腳本中,可以使用 expect 命令來等待特定的文本模式出現(xiàn)。這些模式可以是完整行也可以只是行中的某個(gè)子串。expect 使用了類似于正則表達(dá)式的模式匹配方式來定位輸出中的文本。

以下是一個(gè)簡(jiǎn)單的 expect 腳本示例,該腳本等待部分字符串的出現(xiàn):

#!/usr/bin/expect# 啟動(dòng)某個(gè)交互式命令
spawn some_command# 等待輸出中出現(xiàn) "password:" 子字符串
expect "password:"# 當(dāng)看到 "password:" 時(shí)發(fā)送密碼
send "my_password\r"# 繼續(xù)處理...

在上面的腳本中,expect "password:" 表示腳本會(huì)等待輸出中出現(xiàn) “password:” 這個(gè)子字符串。一旦匹配到,expect 就會(huì)執(zhí)行下一條命令 send 來發(fā)送密碼。

expect 還可以使用更復(fù)雜的正則表達(dá)式來匹配更靈活的模式。例如:

expect {"username:" {send "my_username\r"exp_continue}"password:" {send "my_password\r"}timeout {send_user "Connection timed out\n"exit}
}

在這個(gè)示例中,使用了 expect 的復(fù)合命令語(yǔ)法來匹配多個(gè)可能的輸出,包括 “username:” 和 “password:”,并且也處理了超時(shí)情況。

使用 expect 時(shí),記得模式匹配默認(rèn)是全局的,它會(huì)在整個(gè)輸出中搜索你的字符串,而不需要匹配整行。如果需要更精確的控制,可以使用正則表達(dá)式來指定匹配的條件。

2.bash

在Bash腳本中,你可以使用 trap 命令來捕捉信號(hào)并執(zhí)行一個(gè)命令序列。不過,Bash本身并不是用來做交互式的自動(dòng)化的最佳工具,因?yàn)樗鼪]有像Expect那樣的模式匹配功能。然而,你可以通過結(jié)合使用Bash腳本和工具如 grep、sedawk 來監(jiān)控進(jìn)程輸出,并使用 kill 命令發(fā)送信號(hào)。

以下是一個(gè)簡(jiǎn)單的例子,這個(gè)例子中,我們使用了一個(gè)循環(huán)來持續(xù)讀取某個(gè)進(jìn)程的輸出,并在發(fā)現(xiàn)特定模式時(shí)發(fā)送SIGINT信號(hào):

#!/bin/bash# 啟動(dòng)你的進(jìn)程并記錄它的PID
your_process &
PID=$!# 使用tail -f來獲取進(jìn)程的實(shí)時(shí)輸出
tail -f your_process.log | \
while read LINE
doecho "$LINE"# 檢查行內(nèi)容是否包含特定模式if [[ "$LINE" == *pattern_to_match* ]]; then# 發(fā)送SIGINT (通常等同于Control-C)kill -SIGINT $PIDbreakfi
done# 等待進(jìn)程結(jié)束
wait $PID

在這個(gè)腳本中,your_process 應(yīng)該被替換為你想要啟動(dòng)的命令,而 your_process.log 應(yīng)該是該進(jìn)程的輸出文件。pattern_to_match 應(yīng)該是你想要匹配的文本模式。

請(qǐng)注意,這些示例可能需要根據(jù)你的實(shí)際需求進(jìn)行調(diào)整。使用Bash來監(jiān)聽和處理實(shí)時(shí)輸出可能會(huì)比較復(fù)雜,尤其是如果輸出速率非??旎蛘吣J奖容^復(fù)雜的時(shí)候。Expect腳本天生就是為了處理這類交互設(shè)計(jì)的,所以通常會(huì)是一個(gè)更好的選擇。

在這里插入圖片描述

http://www.risenshineclean.com/news/53336.html

相關(guān)文章:

  • 建站國(guó)外平臺(tái)企業(yè)seo推廣
  • 如何設(shè)計(jì)的英文網(wǎng)站網(wǎng)站推廣優(yōu)化方式
  • 免費(fèi)做ppt的網(wǎng)站有哪些濟(jì)寧seo公司
  • 用vs2010做網(wǎng)站如何推廣普通話
  • 臺(tái)州網(wǎng)約車最新政策seo優(yōu)化推薦
  • 給網(wǎng)站做游戲視頻怎么賺錢關(guān)鍵詞搜索引擎又稱為
  • 俄羅斯外貿(mào)網(wǎng)站如何快速推廣網(wǎng)站
  • 網(wǎng)站前置審批 公司名稱百度站內(nèi)搜索代碼
  • 網(wǎng)站建設(shè)策劃書(建設(shè)前的市場(chǎng)分析)關(guān)鍵詞排名軟件
  • 怎么自己在微信上做網(wǎng)站全球搜索引擎市場(chǎng)份額
  • 撫順網(wǎng)站制作站長(zhǎng)工具果凍傳媒
  • 什么網(wǎng)站做蔬菜生鮮比較好手機(jī)優(yōu)化大師下載2022
  • 網(wǎng)站建設(shè)用英語(yǔ)怎么說web網(wǎng)頁(yè)制作教程
  • 公司做網(wǎng)站有什么用搜索引擎優(yōu)化策略有哪些
  • 阿里虛擬主機(jī)怎么做兩個(gè)網(wǎng)站嗎營(yíng)銷推廣投放平臺(tái)
  • 國(guó)內(nèi)免費(fèi)可商用圖片素材網(wǎng)站鄭州seo管理
  • 公司網(wǎng)站設(shè)計(jì)很好的網(wǎng)絡(luò)營(yíng)銷模式案例
  • 富陽(yáng)做網(wǎng)站網(wǎng)店運(yùn)營(yíng)推廣方案
  • 中小型企業(yè)建設(shè)網(wǎng)站微信seo排名優(yōu)化軟件
  • 網(wǎng)站建設(shè)合作伙伴sem和seo是什么職業(yè)
  • 建站之星授權(quán)什么是論壇推廣
  • 正規(guī)專業(yè)的互聯(lián)網(wǎng)代做畢業(yè)設(shè)計(jì)網(wǎng)站博客seo優(yōu)化技術(shù)
  • 龍崗個(gè)性化網(wǎng)站建設(shè)價(jià)格低南寧網(wǎng)站運(yùn)營(yíng)優(yōu)化平臺(tái)
  • 公關(guān)做的好的網(wǎng)站平臺(tái)軟件定制開發(fā)
  • 河北特定網(wǎng)站建設(shè)推薦查詢網(wǎng)域名查詢
  • 黃埔區(qū)做網(wǎng)站工具站seo
  • 網(wǎng)站制作推薦廊坊關(guān)鍵詞排名優(yōu)化
  • 佛山高端網(wǎng)站建設(shè)google搜索引擎入口下載
  • 服務(wù)好質(zhì)量好的app開發(fā)seo網(wǎng)站優(yōu)化工具大全
  • 響站怎么建設(shè)網(wǎng)站營(yíng)業(yè)推廣是什么