在 中bash
,watch
(例如watch -n 5 ls -l
)可用于以固定间隔重复该命令。
zsh 上似乎缺少此命令。有同等的吗?
答案1
watch
不是内部命令:
$ type watch
/usr/bin/watch
因此请确保它安装在您正在运行的系统上zsh
。
答案2
我只是即兴观看:clear; while ls -lah; do sleep 2; clear; done
有趣的想法。我可以围绕它编写一个函数...好吧,把它放在你的 .zshrc 中
watch () {
IN=2
case $1 in
-n)
IN=$2
shift 2
;;
esac
printf '\033c' # clear
CM="$*"
LEFT="$(printf 'Every %.1f: %s' $IN $CM)"
((PAD = COLUMNS - ${#LEFT}))
while :
do
DT=$(date)
printf "$LEFT%${PAD}s\n" "$HOST $(date)"
eval "$CM"
sleep $IN
printf '\033c'
done
}