我是shell脚本的新手,我有一个用于使用keytool导入证书和导入密钥仓库的脚本。这个脚本是在一个Pod中,有时我需要重新启动我的Pod,有时当这个脚本运行时,我得到这个错误
存在条目别名服务器,是否覆盖?[no]:输入新的别名name (RETURN取消此条目的导入):
我知道有一个命令列出别名
keytool -list -keystore keystore.jks -storepass changeit -alias server
给出输出
服务器,2022年6月22日,PrivateKeyEntry,证书指纹(SHA-256): AC:DC:12:…
如果别名不存在,该命令将给出一个异常
keytool错误:java.lang.Exception: Alias不存在
如果存在一个密钥库别名,如果不允许执行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