bash,使用kubecolor查看命令



我使用kubectl with watch,所以我可以有一个" realtime ";当我在更新pod之类的东西时,我通常会这样写:

watch -n1 kubectl get pods 

现在我想使用kubecolor做同样的事情,因为输出要好得多,但是watch命令不会显示颜色,因为我正在尝试在手册页上阅读:

watch -n1 --color "kubecolor get pods" 

如果运气不好,颜色不会显示:(

有人知道怎么正确地做吗?

原因是kubecolor检测到它是非交互运行的。因此,问题不在于watch命令,而在于kubecolor本身,当与watch结合使用时,它会禁用颜色输出。

正如Philippe所评论的,kubecolor命令的--force-colors开关可以防止这种情况。

一般情况下:如果您使用的是linux操作系统,您可以使用unbuffer使输出按预期工作。对于Debian/Ubuntu,安装expect包来获取unbuffer

要使用的命令如下所示:

watch -c unbuffer kubecolor get pods

除了kubectl(和kubecolor)本身支持--watch开关。不能解决所有用例,但由于它使用了API服务器监视方法,因此效率更高。

最新更新