2010-04-27 78 views
0

此命令:伯恩脚本:重定向成功的消息但不错误消息

keytool -import -file "$serverPath/$serverCer" -alias "$clientTrustedCerAlias" -keystore "$clientPath/$clientKeystore" -storepass "$serverPassword" -noprompt 

会当它运行成功输出:Certificate was added to keystore

我试图重定向stdard出具有:

keytool ... > /dev/null 

但它仍在印刷。

看来消息正在输出到标准错误。因为当我这样做时,它不显示:

keytool ... > /dev/null 2>&1 

但是,这不是我想要做的。我希望错误消息能够正常输出,但我不希望将“成功”消息输出到命令行。有任何想法吗?无论发生在unix惯例如何:“如果它的工作不输出任何东西”。

回答

0

我落得这样做:

keytool ... > /tmp/keytmp 2>&1 || cat /tmp/keytmp 

Sun的白痴谁做的keytool应该被解雇。最有意思的工具。

0

放置软件的错误报告。这些脚本应该有-q--quiet,如果不是这样,我会称它为不需要的行为。

2

同意,这不是keytool部分的友好行为。

如果一套成功的消息是小,你可以使用grep来明确地删除它们,例如

keytool ... 2>&1 | grep -v '^Certificate was added to keystore$'