繁体   English   中英

检查密钥库中是否存在别名

[英]Check if an alias exist in keystore

我是 shell 脚本的新手,我有一个脚本,用于使用 keytool 导入证书和导入密钥库。 此脚本位于 Pod 内,有时我必须重新启动我的 pod,有时当此脚本运行时出现此错误

现有条目别名服务器存在,覆盖? [no]:输入新的别名(RETURN 取消该条目的导入):

我知道有列出别名的命令

keytool -list  -keystore keystore.jks -storepass changeit -alias server

这给出了输出

服务器,2022 年 6 月 22 日,PrivateKeyEntry,证书指纹 (SHA-256):AC:DC:12:...

对于不存在的别名,此命令会给出异常

keytool 错误:java.lang.Exception:别名不存在

有没有一种方法可以检查密钥库别名是否存在,如果不允许执行keytool -importcert命令? 是否有任何返回代码可以比较以继续执行?

谢谢

你可以用$? 查找最后执行的命令的返回值。
返回值 0 表示成功,否则,如果出现异常,您会得到一个非 0 的数字。

keytool -list -keystore keystore.jks -storepass changeit -alias server

if [[ $? = 0 ]]; then
        echo "alias is present"
else
        echo "alias is not present"
fi

编辑
正如查尔斯·达菲(Charles Duffy)指出的那样使用$? 是气馁
你可以简单地使用

if keytool -list -keystore keystore.jks -storepass changeit -alias server; then
        echo "alias is present"
else
        echo "alias is not present"
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM