2010-04-27 1 views
0

Эта команда:Bourne Сценарий: Перенаправление сообщения об успешном выполнении, но не сообщения об ошибках

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 

Морон на солнце, который сделал keytool должен быть запущен. Самый важный инструмент когда-либо.

0

Поместите отчет об ошибке в программное обеспечение. Для этих сценариев должен быть -q или --quiet, если это не так, я бы назвал это нежелательным поведением.

2

Согласен, это не дружелюбное поведение со стороны клавишного инструмента.

Если набор сообщений успеха мала, вы можете использовать Grep явно удалить их, например,

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

 Смежные вопросы

  • Нет связанных вопросов^_^