这是一个相当粗糙的脚本,似乎可以用于我抛出的几个命令
#!/bin/bash
# ---- mywatch.sh ----
if [ $# -lt 1 && $# -gt 2 ]; then
echo "Usage: $0 <command> <delay>"
exit 1
fi
CMD=$1
if [ $# -eq 2 ]; then
DELAY=$2
else
DELAY=2 # default
fi
while : ; do
( (echo -e "Every ${DELAY}s: $CMD\n"; $CMD) | less )&
PID=$!
sleep $DELAY
kill -9 $PID &> /dev/null
clear
done
如此使用:
alias mywatch="~/bin/mywatch.sh"
mywatch vmstat
mywatch "ps aux" # commands in options need to be quoted
mywaych pstree 10 # change delays
由于过于古怪,刷新之间的过渡并不像我所希望的那样平滑。自然,作为一个简单的脚本,它不支持diff的高亮显示(watch -d)。同样,输入参数的解析可以做得更好。