此命令:
keytool -import -file "$serverPath/$serverCer" -alias "$clientTrustedCerAlias" -keystore "$clientPath/$clientKeystore" -storepass "$serverPassword" -noprompt
成功运行后会输出:Certificate was added to keystore
我尝试将标准重定向到:
keytool ... > /dev/null
但它还在打印。
似乎消息正在输出为标准错误。因为当我这样做时,它不会显示:
keytool ... > /dev/null 2>&1
然而,这不是我想要做的。我希望正常输出错误消息,但我不希望将“成功”消息输出到命令行。有任何想法吗?无论unix惯例发生了什么:“如果它工作不输出任何东西”。
答案 0 :(得分:2)
同意,这不是keytool的友好行为。
如果成功消息集很小,您可以使用grep显式删除它们,例如
keytool ... 2>&1 | grep -v '^Certificate was added to keystore$'
答案 1 :(得分:0)
在软件上放置错误报告。这些脚本应该有-q
或--quiet
,如果不是,我称之为不受欢迎的行为。
答案 2 :(得分:0)
我最终这样做了:
keytool ... > /tmp/keytmp 2>&1 || cat /tmp/keytmp
制造钥匙工具的太阳蠢货应该被解雇。最笨拙的工具。