如果需要,我想在.bashrc
文件中添加一些内容来运行kinit
。有没有办法测试我是否需要kinit
?像这样:
if [ kinitNeeded ];
do kinit;
done
kinitNeeded() { ??? }
答案 0 :(得分:11)
您可以尝试klist -s
。从手册页:
"导致klist以静默方式运行(不产生输出),但仍然根据是否找到凭证缓存来设置退出状态。如果klist找到凭证缓存,则退出状态为“0”;如果不找到凭证缓存,则退出状态为“1”,如果票证已过期,则退出状态为“#34;
答案 1 :(得分:1)
我找到了一个解决方案,但这有点像黑客攻击。
if [ `klist 2>&1 | grep -i 'No credentials' | wc -l` -gt 0 ]; then
kinit
fi
答案 2 :(得分:0)
试试:
klist -s; echo $?
如果正常则返回0
,否则返回1