如何测试是否需要kinit?

flvtvl50  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(342)

我想在我的工作中增加一些东西 .bashrc 文件以运行 kinit 如果我需要的话。有没有办法测试我是否需要做一个测试 kinit ? 像这样:

if [ kinitNeeded ]; 
    do kinit; 
done

kinitNeeded() { ??? }
mkshixfv

mkshixfv1#

你可以试试 klist -s . 从手册页:
使klist静默运行(不产生输出),但仍根据是否找到凭据缓存来设置退出状态。如果klist找到凭据缓存,则退出状态为“0”;如果没有或票证已过期,则退出状态为“1”

7nbnzgx9

7nbnzgx92#

我找到了一个解决办法,但有点麻烦。

if [ `klist 2>&1 | grep -i 'No credentials' | wc -l` -gt 0 ]; then
    kinit
fi

相关问题