巧用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#
- for 迴圈執行流程
- Linux基礎命令---間歇執行命令watchLinux
- Runloop-執行迴圈OOP
- 巧用watch 和 tail 命令監視 Linux 上的活動AILinux
- 操作VR介面僅需眼神,Eyefluence眼控技術解放你的雙手VR
- 多執行緒迴圈控制欄位失效造成死迴圈的坑執行緒
- JavaScript如何中斷迴圈執行?JavaScript
- Java for迴圈中語句執行的順序Java
- JavaScript執行機制-node事件迴圈JavaScript事件
- 【轉】Promise迴圈序列執行寫法Promise
- Shell雙重fou迴圈
- 解放程式設計師雙手之Supervisor程式設計師
- Python Basic - 遠端執行命令優化示例(迴圈接收直至接收完成)Python優化
- 三個執行緒迴圈列印123-多執行緒執行緒
- HashMap多執行緒下發生死迴圈的原因HashMap執行緒
- parallel: 一個簡單的並行執行Go迴圈的庫Parallel並行Go
- 嘿,看過來,你不知道的雙層FOR迴圈的祕密
- 分享一下我的三個程式碼自動生成工具類--助你解放雙手
- 分享一下我的三個程式碼自動生成工具類–助你解放雙手
- App 端自動化的最佳方案,完全解放雙手!APP
- 解放雙手 hosts 自動化 (Vagrant-hostsupdater)
- 使用 minitouch 遠端操作手機時,手動操作手機後 minitouch 執行命令就失效了
- 我理解的javascript事件迴圈(一)JavaScript事件
- JavaScript 執行機制-瀏覽器事件迴圈JavaScript瀏覽器事件
- 多執行緒實現順序迴圈列印執行緒
- flutter: 執行緒通訊與訊息迴圈Flutter執行緒
- 淺談Javascript單執行緒和事件迴圈JavaScript執行緒事件
- cmd執行python死迴圈怎麼解決Python
- 我們該如何正確的中斷一個執行緒的執行??執行緒
- Python自動化爬取小說,解放你的雙手Python
- 遊戲化設計中的“雙迴圈”遊戲
- C語言資料結構:雙向迴圈連結串列的增刪操作C語言資料結構
- 我的常用tmux操作命令UX
- 用 PHP 來執行執行網路相關命令PHP
- 【執行機制】 JavaScript的事件迴圈機制總結 eventLoopJavaScript事件OOP
- 事件迴圈 EventLoop(Promise,setTimeOut,async/await執行順序)事件OOPPromiseAI
- 我們應該如何看待馬斯克心心念唸的“超迴圈”技術馬斯克