观看 zsh 中的等效内容

观看 zsh 中的等效内容

在 中bashwatch(例如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
}

相关内容