2013-04-16 1 views
0

Я вызываю инструмент командной строки, который мы написали из bash на OS X, и у меня есть проблема, что я не получаю вывод stderr, но только printf записывается в stdout.Bash eat stderr output

Это мой призыв:

echo "someInputString" |theTool -v someArg 

Я также попытался:

echo "someInputString" |theTool -v someArg 2>&1 

без успеха ... Держу пари, это тривиально, но я не знаю, что должно быть сделано. Спасибо заранее!

+0

Я не вижу никакой разницы между двумя линиями. – fedorqui

+0

@fedorqui Извините, пропустил это. Отредактировал вопрос. – guitarflow

+0

Я не вижу ничего плохого со второй командой (или первой командой). Я предполагаю, что это проблема инструмента. Или возможно/dev/stderr по своей сути/dev/null или что-то недействительное. Попробуйте запустить '[[-t 2]] && echo valid' без одинарных кавычек, чтобы проверить текущий stderr оболочки. – konsolebox

ответ

0

Перенаправить вывод потока stderr с помощью 2>.

echo "someInputString" |theTool -v someArg 2> error_file