看板 FreeBSD 關於我們 聯絡資訊
※ 引述《goldenra ((May))》之銘言: : ※ 引述《king19880326 (OK的啦~我都可以接受)》之銘言: : : 大家都知道 Linux 上有一個 command 叫做 watch : : 可以週期性的執行 command : : 現今我想要寫一個 script 來模擬 : : 想法如下 : : while :; do : : clear : : 待執行的 command : : sleep 1 : : done : : 可是我發現這樣會有一些問題, 如果是執行比較花時間的 command, ex : : ls -al | cat, 螢幕就會閃爍, 沒有辦法像 top, 或是 Linux 上的 : : watch 一樣順 : : 現在有兩個問題 : : 1. 較花時間的 command 會閃爍是什麼原因呢?? : : (我猜測是因為上一次執行 command 的輸入還沒印完, 就已經執行 clear : : 及下一次的 command) : : 2. 改怎麼處理這種情形呢?? 我 man 了 clear 和 terminfo 沒找到解決方法 : : 希望有人指點我一下 : : 感謝 QQ : 應用 clear && 待執行的command在同一行就可以了! : 不過我不覺的這樣會解決你的問題! : 一般像這樣子的寫法是直接印在同一個位址或是只清除一行,這樣才不會有閃爍的問題 最近剛好寫過類似的作業 會閃爍的原因是因為指令執行時間太久 超過視覺暫留的時間 我是用一個變數把指令輸出先儲存 clear後在輸出這個很笨的方法解決的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.93.181