可以將命令的輸出結(jié)果輸出到標(biāo)準(zhǔn)輸出設(shè)備,多用于周期性執(zhí)行命令/定時執(zhí)行命令

3.命令參數(shù):

引言

有時候你需要不斷的執(zhí)行某個命令,追蹤其輸出產(chǎn)生的變化情況。你可能會寫一個死循環(huán)來做這件事情:

while :
do
 clear
 commands
 sleep 1
done

然而實際上linux中有一個 watch 命令能夠幫你做這件事情。它會定期執(zhí)行指定的程序并將結(jié)果全屏輸出。

watch 的使用方法很簡單,只需要

watch 命令

就行了,這樣 watch 命令會每隔兩秒執(zhí)行一次該該命令,并全屏輸出執(zhí)行結(jié)果。

從上圖可以看出,第一行中的 Every 2.0s: 表示 watch 每隔2秒執(zhí)行一次命令。后面的 date 為要執(zhí)行的命令。再后面的 T520: Thu May 10 16:55:23 2018 是主機(jī)名以及執(zhí)行命令的時間。

在下面,從第二行開始就是命令執(zhí)行的時間了。

通過 -n INTERVAL 你也可以設(shè)置重復(fù)執(zhí)行命令的間隔時間,比如我可以調(diào)整為每5秒中執(zhí)行一次 date 命令

watch -n 5 date

不僅如此,通過 -d 選項, watch 還能高亮顯示兩次輸出中不同的部分,這個功能相當(dāng)實用

watch -d -n 1 date

除了高亮顯示輸出中改變的部分外,你也可以設(shè)置讓 watch 發(fā)現(xiàn)結(jié)果有改變時退出循環(huán)執(zhí)行,方法是使用 -g/–chgexit 選項

watch -g free

默認(rèn)情況下, watch 并不會關(guān)心命令的執(zhí)行結(jié)果是否成功

但你可以讓 watch 檢測命令的返回值,當(dāng)命令運(yùn)行返回非0時發(fā)出蜂鳴(-b/–beep)或者直接退出(-e/–errexit)。

watch -e wrong_commands

最后,若你希望 watch 只顯示出命令的執(zhí)行結(jié)果,而不要顯示第一行的那些信息,那么可以使用 -t 選項關(guān)閉title的顯示

watch -t date
贊(0)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-62778877-8306;郵箱:fanjiao@west.cn。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處:西部數(shù)碼知識庫 » 如何利用watch幫你重復(fù)執(zhí)行命令

登錄

找回密碼

注冊