2010-04-27 4 views
0

Cette commande:Bourne Script: Rediriger les messages de succès, mais pas les messages d'erreur

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

Est-ce que lors de l'exécution des sorties avec succès: Certificate was added to keystore

J'ai essayé de rediriger l'StdArd avec:

keytool ... > /dev/null 

Mais c'est encore l'impression.

Il semble que le message soit émis en erreur standard. Depuis quand je fais cela, il n'est pas affiché:

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

Cependant ce n'est pas ce que je veux faire. Je souhaite que les messages d'erreur soient générés normalement, mais je ne veux pas que les messages "succès" soient affichés sur la ligne de commande. Des idées? Ce qui est arrivé à la convention Unix: "Si cela fonctionne, ne donnez rien".

Répondre

0

Je fini par faire ceci:

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

Le crétin au soleil qui a fait la keytool devrait être tiré. L'outil le plus ackward jamais.

0

Placez un rapport de bogue sur le logiciel. Pour ce genre de scripts, il devrait y avoir un -q ou --quiet, sinon, je dirais que c'est un comportement indésirable.

2

D'accord, ce n'est pas un comportement amical de la part de keytool.

Si l'ensemble des messages de réussite est faible, vous pouvez utiliser grep pour les supprimer explicitement, par exemple

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