Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Bourne脚本:重定向成功消息,但不重定向错误消息_Bash_Scripting_Stdout_Shell - Fatal编程技术网

Bash Bourne脚本:重定向成功消息,但不重定向错误消息

Bash Bourne脚本:重定向成功消息,但不重定向错误消息,bash,scripting,stdout,shell,Bash,Scripting,Stdout,Shell,此命令: keytool -import -file "$serverPath/$serverCer" -alias "$clientTrustedCerAlias" -keystore "$clientPath/$clientKeystore" -storepass "$serverPassword" -noprompt 当它成功运行时将输出:证书已添加到密钥库 我尝试通过以下方式重定向标准: keytool ... > /dev/null 但它仍在印刷 消息似乎被输出为标准错误。因

此命令:

keytool -import -file "$serverPath/$serverCer" -alias "$clientTrustedCerAlias" -keystore "$clientPath/$clientKeystore" -storepass "$serverPassword" -noprompt
当它成功运行时将输出:
证书已添加到密钥库

我尝试通过以下方式重定向标准:

keytool ... > /dev/null
但它仍在印刷

消息似乎被输出为标准错误。因为当我这样做时,它不会显示:

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

然而,这不是我想要做的。我希望错误消息正常输出,但不希望“成功”消息输出到命令行。有什么想法吗?不管unix约定发生了什么:“如果它工作,就不要输出任何东西”

在软件上放置错误报告。对于这类脚本,应该有一个
-q
-quiet
,如果不是,我将称之为不需要的行为。

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

如果成功消息集很小,您可以使用grep显式删除它们,例如

keytool ... 2>&1 | grep -v '^Certificate was added to keystore$'
我最终做了这样的事:

keytool ... > /tmp/keytmp 2>&1 || cat /tmp/keytmp
制造钥匙工具的sun的白痴应该被解雇。有史以来最好的工具