巧用watch命令執行迴圈操作,來解放我們的雙手
有時候我們需要重複執行某個
,觀察某個檔案和某個結果的變化情況。可以寫
去實現這些需求,但是有更簡單的方法,本文件要介紹的就是watch
。
1. 以固定時間反覆執行某個命令
root@jaking-virtual-machine:~# watch -n 1 cat hello.txt
Every 1.0s: cat hello.txt
jaking-virtual-machine: Tue Mar 19 19:13:33 2019
Hello World!
Hello Jaking!
2. 高亮變化內容
root@jaking-virtual-machine:~# watch -d uptime #為了突出變化部分,可以使用 -d(difference)引數。
Every 2.0s: uptime
jaking-virtual-machine: Tue Mar 19 19:14:01 2019
19:14:01 up 3 days, 12:53, 2 users, load average: 0.01, 0.01, 0.00
(這裡省略,變化內容會高亮,非常便於觀察)
3. 執行出錯時退出
root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt #執行某個命令,當退出碼不是0時,即命令執行出錯時就結束,可以使用 -e(errexit)引數。
Every 1.0s: cat hello.txt
jaking-virtual-machine: Tue Mar 19 19:16:49 2019
開啟另一個終端,執行mv操作,可以看到效果:
root@jaking-virtual-machine:~# mv hello.txt /tmp
#新終端
root@jaking-virtual-machine:~# watch -n 1 -e cat hello.txt
#舊終端
Every 1.0s: cat hello.txt
jaking-virtual-machine: Tue Mar 19 19:16:49 2019
cat: hello.txt: No such file or directory
4. 執行結果變化時退出
root@jaking-virtual-machine:~# watch -n 1 -g 'du -b hello.txt'
Every 1.0s: du -b hello.txt
jaking-virtual-machine: Tue Mar 19 19:23:41 2019
27 hello.txt
開啟另一個終端執行echo操作,可以看到效果:
root@jaking-virtual-machine:~# echo "watch -n -l -g command" >> hello.txt
#新終端
root@jaking-virtual-machine:~# watch -n 1 -g 'du -b hello.txt'
#舊終端
Every 1.0s: du -b hello.txt
jaking-virtual-machine: Tue Mar 19 19:21:55 2019
50 hello.txt
#此時watch -n 1 -g 'du -b hello.txt'執行結束
root@jaking-virtual-machine:~#
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2641732/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 迴圈時,操作另外一個程式直到操作完成,迴圈繼續執行C#
- Runloop-執行迴圈OOP
- 自動搶紅包,點贊朋友圈,AccessibilityService解放你的雙手
- watchOS 4釋出,我們來聊聊Apple Watch設計APP
- JavaScript for迴圈 執行順序JavaScript
- 操作VR介面僅需眼神,Eyefluence眼控技術解放你的雙手VR
- 多執行緒迴圈控制欄位失效造成死迴圈的坑執行緒
- JavaScript如何中斷迴圈執行?JavaScript
- (轉)Qt 的執行緒與事件迴圈QT執行緒事件
- Casperjs迴圈執行(重複執行不退出)JS
- PowerShell迴圈命令
- for迴圈裡面不要進行remove操作REM
- Linux基礎命令---間歇執行命令watchLinux
- 巧用watch 和 tail 命令監視 Linux 上的活動AILinux
- 複習下C 連結串列操作(雙向迴圈連結串列,查詢迴圈節點)
- 雙向迴圈連結串列基本操作的實現(C語言)C語言
- JavaScript執行機制-node事件迴圈JavaScript事件
- 【轉】Promise迴圈序列執行寫法Promise
- Java for迴圈中語句執行的順序Java
- 迴圈佇列的基本操作佇列
- 18. 再說迴圈~列表和迴圈的高階操作
- 解放程式設計師雙手之Supervisor程式設計師
- App 端自動化的最佳方案,完全解放雙手!APP
- 分享一下我的三個程式碼自動生成工具類–助你解放雙手
- 分享一下我的三個程式碼自動生成工具類--助你解放雙手
- Java通過在主迴圈中判斷Boolean來停止執行緒JavaBoolean執行緒
- 遊戲化設計中的“雙迴圈”遊戲
- 我們應該如何看待馬斯克心心念唸的“超迴圈”技術馬斯克
- 時間遞增迴圈執行指令碼指令碼
- HashMap多執行緒下發生死迴圈的原因HashMap執行緒
- 多執行緒下HashMap的死迴圈問題執行緒HashMap
- while(liunx,unix)中的迴圈執行某程式用法While
- parallel: 一個簡單的並行執行Go迴圈的庫Parallel並行Go
- 我理解的javascript事件迴圈(一)JavaScript事件
- 實戰資料結構(5)_雙向迴圈連結串列的基本操作資料結構
- Python自動化爬取小說,解放你的雙手Python
- android執行外部操作命令Android
- Python Basic - 遠端執行命令優化示例(迴圈接收直至接收完成)Python優化