如何测试是否需要kinit?

ant*_*ell 13 bash hadoop kerberos

如果需要,我想在我的.bashrc文件中添加一些内容来运行kinit.有没有办法测试我是否需要做kinit?像这样的东西:

if [ kinitNeeded ]; 
    do kinit; 
done

kinitNeeded() { ??? }
Run Code Online (Sandbox Code Playgroud)

小智 14

你可以试试klist -s.从手册页:

"导致klist以静默方式运行(不产生输出),但仍然根据是否找到凭证缓存设置退出状态.如果klist找到凭证缓存,则退出状态为"0",如果不找到,则退出状态为"1"或者如果门票过期了."