国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux 反復(fù)執(zhí)行一條命令--watch命令

這篇具有很好參考價值的文章主要介紹了Linux 反復(fù)執(zhí)行一條命令--watch命令。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Linux watch循環(huán)命令

在Linux中,我們可能會需要反復(fù)的執(zhí)行一個命令以查看狀態(tài)的變化,比如之前我在啟動一個項目的時候沒有什么反應(yīng),于是我便自己寫腳本反復(fù)curl這個端口,下面用輸出Hello World舉出這個例子:

#!/bin/bash                                                                                                                                                                                          

i=1
for(($i;$i>0; i=$i+1))
do
    echo 'Hello World'[$i]
    sleep 1
done

我們的需求是非常簡單地,只需要不斷地間隔一秒輸出Hello World,但是卻需要7行shell代碼,這無疑非常非常麻煩,對于我這種對shell語法不熟悉的人還很花時間。
不過,其他開發(fā)者們顯然也遇到過這種情況,并且已經(jīng)有人寫出了應(yīng)對這種情況的工具,——watch

Watch 命令

watch [可選參數(shù)] [命令]

*為常用的參數(shù)

  • -n* : 間隔秒數(shù)(如果不寫默認(rèn)間隔2秒)
  • -d* : different,只寫這個參數(shù)的話,本次刷新發(fā)生變化內(nèi)容會高亮,再次刷新若無變化則不高亮,若是給-d加參數(shù)-d=cumulative 則變化后高亮,再次刷新沒有變化的話依舊保持高亮狀態(tài)
  • -g *: 若是輸出的內(nèi)容發(fā)生變化則退出watch狀態(tài)
  • -t : 不寫-t的話watch有一個頂上的標(biāo)題,會顯示間隔秒數(shù),當(dāng)前時間等,加上-t則不顯示該標(biāo)題
  • -b : 若是命令因錯誤而退出,則發(fā)出警報聲
  • -e : 停止錯誤輸出更新并在按鍵后退出命令
  • -c : 解釋 ANSI 顏色和樣式序列
  • -x : 將用戶定義的命令傳遞給exec,從而減少額外引用的需要
  • -w : 關(guān)閉換行并截斷長行
  • -h : 顯示幫助文本并退出。
  • -v : 顯示版本信息并退出。

(1)watch 命令定義了4個觀察事件點,即 -b 方法調(diào)用前,- e 方法異常后,- s 方法返回后, f 方法結(jié)束后。有點像string里面的,切入點面向切入編程,實際上有這個前置通知,后置通知,環(huán)繞通知,異常通知還有最終通知。所以可以猜測,Arthas在編寫的時候用了同樣的代理模式,類似于string框架的模式,對他四個的觀察點進(jìn)行監(jiān)視,這個雖然沒有看到源碼,但是可以猜測應(yīng)該是這樣實現(xiàn)的。
(2)4個觀察事件點 b 、- e 、- s 默認(rèn)關(guān)閉,- f 默認(rèn)打開,當(dāng)指定觀察點被打開后,在相應(yīng)事件點會對觀察表達(dá)式進(jìn)行求值并輸出。f默認(rèn)打開,不管你有沒有出現(xiàn)異常都能夠看到結(jié)果
(3)這里要注意方法入?yún)⒑头椒ǔ鰠⒌膮^(qū)別,有可能在中間被修改導(dǎo)致前后不一致,除了 b 事件點 params 代表方法入?yún)⑼?,其余事件都代表方法出?br> (4)當(dāng)使用 b 時,由于觀察事件點是在方法調(diào)用前,此時返回值或異常均不存在

舉個??

監(jiān)控當(dāng)前時間變化

watch 'date' # 間隔2秒監(jiān)控當(dāng)前時間變化
watch -n 1 'date' # 間隔1秒監(jiān)控當(dāng)前時間變化
watch -d -n 1 'date' # 間隔1秒監(jiān)控當(dāng)前時間變化,并將當(dāng)前變化的內(nèi)容高亮顯示
watch -d=cumulative -n 1 'date' # 間隔1秒監(jiān)控當(dāng)前時間變化,并將曾經(jīng)發(fā)生過變化的內(nèi)容持續(xù)高亮顯示
watch -g 'date' # 間隔2秒監(jiān)控時間變化,若是時間發(fā)生了變化則退出watch

以上的最后一條命令是一定會在2秒之后退出的,因為秒數(shù)從i變成了i+2,觸發(fā)了「輸出內(nèi)容發(fā)生變化」,因此直接退出watch狀態(tài)。





?? 參考資料

「PhoneixNAP」: How to Use the Linux watch Command with Examples
「阿里云開發(fā)者社區(qū)」:Watch 命令的參數(shù)介紹 | 學(xué)習(xí)筆記文章來源地址http://www.zghlxwxcb.cn/news/detail-420374.html

到了這里,關(guān)于Linux 反復(fù)執(zhí)行一條命令--watch命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • linux 執(zhí)行sudo +命令,顯示找不到命令

    linux 執(zhí)行sudo +命令,顯示找不到命令

    1.切換到root;修改/etc/sudoers;找到Defaults env_reset, 將其改為Defaults !env_reset 2.修改用戶設(shè)置文件:~/.bashrc;增加sudo的別名 參考:

    2024年02月07日
    瀏覽(19)
  • Linux命令-builtin命令(執(zhí)行bash內(nèi)建命令)

    用于執(zhí)行指定的bash內(nèi)建命令。 builtin 命令調(diào)用的bash內(nèi)建命令優(yōu)先于同名的外部命令及同名的shell函數(shù)。 shell-builtin(可選):要調(diào)用的bash內(nèi)建命令。 arg(可選):傳遞給bash內(nèi)建命令的一到多個參數(shù)。 返回該內(nèi)建命令執(zhí)行的返回值,除非傳遞的不是bash內(nèi)建命令或該內(nèi)建命令

    2024年02月19日
    瀏覽(508)
  • 【腳本】 【Linux】循環(huán)執(zhí)行命令

    loop.sh 用法: ./loop.sh 命令內(nèi)容 時間間隔(毫秒) 循環(huán)次數(shù)(小于0表示無限循環(huán)) ,當(dāng)命令內(nèi)容存在空格時,需要用雙引號包含。 示例:

    2024年02月07日
    瀏覽(16)
  • 一條指令在CPU里如何執(zhí)行?

    一條指令在CPU里如何執(zhí)行?

    本人才疏學(xué)淺,如果我的內(nèi)容有明顯的錯誤,或者有疑問的地方,衷心希望您能和我聯(lián)系,給出建議和指導(dǎo),或者與我交流相關(guān)知識。我會對你表示無限的感激!歡迎指正! “靈魂畫手”上線: 老師上周單獨布置給我的任務(wù):讓我去搞清楚“ 一條指令在cpu里是如何執(zhí)行的呢

    2023年04月15日
    瀏覽(27)
  • linux 執(zhí)行sudo +命令,報錯:顯示找不到命令

    linux 執(zhí)行sudo +命令,報錯:顯示找不到命令

    虛擬機使用sudo命令時,明明腳本存在,但是顯示找不到命令 嘗試了切換到root用戶可以執(zhí)行命令 查看了管理員用戶的系統(tǒng)變量和root用戶的系統(tǒng)變量,腳本在環(huán)境變量中 查找了網(wǎng)絡(luò)資料linux 執(zhí)行sudo +命令,顯示找不到命令_linux沒有sudo命令-CSDN博客 原因是sudo重置了環(huán)境變量,導(dǎo)致

    2024年02月04日
    瀏覽(20)
  • linux執(zhí)行程序運行命令失敗,提示找不到命令

    sudo: ./VMware-Workstation-Full-17.0.0-20800274.x86_64.bundle:找不到命令。 經(jīng)檢查,sudo命令正常,該腳本文件的確存在于該目錄下。 1.文件是否有執(zhí)行權(quán)限 使用 ls -l 命令查看下該文件的權(quán)限: 表示當(dāng)前文件無執(zhí)行權(quán)限。 ps: - 代表沒有權(quán)限,r為可讀權(quán)限,w為可寫權(quán)限,x為可執(zhí)行權(quán)限

    2024年02月08日
    瀏覽(18)
  • Linux 系統(tǒng) history(查看執(zhí)行命令歷史) 命令詳解

    history 命令是Linux/Unix系統(tǒng)中的一個常用命令,用于查看當(dāng)前用戶在命令行中執(zhí)行過的命令歷史記錄。該命令允許用戶查看、搜索、編輯和執(zhí)行之前執(zhí)行過的命令,為用戶提供了方便、快捷的操作方式。本文將全面詳細(xì)地講解 history 命令的各種用法和注意事項,并提供一些實用

    2024年02月16日
    瀏覽(397)
  • MySQL執(zhí)行流程_執(zhí)行一條select語句,期間發(fā)生了什么

    MySQL執(zhí)行流程_執(zhí)行一條select語句,期間發(fā)生了什么

    MySQL執(zhí)行流程 server層負(fù)責(zé)建立連接、分析和執(zhí)行SQL 包括連接器、查詢緩存、解析器、預(yù)處理器、優(yōu)化器、執(zhí)行器等,所有內(nèi)置函數(shù)和所有跨存儲引擎的功能在該層實現(xiàn) 存儲引擎層負(fù)責(zé)數(shù)據(jù)的存儲和提取 索引數(shù)據(jù)結(jié)構(gòu)就是由存儲引擎層實現(xiàn),不同的存儲引擎支持的索引類型也

    2024年02月04日
    瀏覽(23)
  • Java程序執(zhí)行Linux命令

    今天這篇文章我們來用Java程序執(zhí)行Linux命令。 執(zhí)行一條命令: 執(zhí)行服務(wù)器中 /home/admin 路徑下的test.py文件 可以自己寫一個py文件 生成一份txt或excel等 看通過java是否執(zhí)行了py文件。 https://editor.csdn.net/md/?articleId=128816307 執(zhí)行多條命令: 下面這段代碼是做了三條linux命令 1、 復(fù)制

    2024年02月15日
    瀏覽(23)
  • MySQL 一條SQL語句是如何執(zhí)行的?

    MySQL 一條SQL語句是如何執(zhí)行的?

    ? 所以今天我們把MySQL拆解一下,看看里邊有哪些零件。下邊是MySQL的基本架構(gòu)示意圖。 大體來說,MySQL分為Server層和存儲引擎兩部分。 Server 層包括連接器、查詢緩存、分析器、優(yōu)化器、執(zhí)行器等,涵蓋 MySQL 的大多數(shù)核心服務(wù)功能,以及所有的內(nèi)置函數(shù)(如日期、時間、數(shù)

    2024年02月01日
    瀏覽(66)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包