Я хочу вывести вывод моей программы в файл. Я добавил следующее:
./prog > log 2>&1
Но в файле «log» нет ничего. Я использую Ubuntu 11.10, а оболочка по умолчанию - bash.
Кто-нибудь знает причину этого И как я могу отладить это?
script -c "/path/prog" /path/log.txt
Иногда перенаправление оболочки не работает (в частности - когда одна оболочка порождает другую оболочку, я думаю :). Выше это общее решение, которое просто захватывает весь вывод оболочки и помещает его в файл. В вашем случае это тоже должно работать, так как вы ожидаете выхода на stdout / stderr.
это работало здесь, когда только ./prog 2>&1 >log.txt
не работал должным образом:
./prog 2>&1 |cat >log.txt