Я пытаюсь перенаправить вывод ssss-combine
в файл, но пока безуспешно.
Я попробовал основы: > file
, 2>&1 > file
и tee file
но он всегда отображается на экране и ничего не помещается в файл.
Я пытаюсь перенаправить вывод ssss-combine
в файл, но пока безуспешно.
Я попробовал основы: > file
, 2>&1 > file
и tee file
но он всегда отображается на экране и ничего не помещается в файл.
Хотя вы не указали точную команду, которую вы выполняете, и поэтому трудно сказать наверняка, я предполагаю, что ваша команда печатает в стандартный дескриптор файла ошибок (он же stderr), а не в stdout.
Перенаправления > file
или | tee file
перенаправляет только стандартный вывод, но не стандартный вывод.
2>&1 > file
не делает то, что вы ищете. Сначала он перенаправляет ошибку туда, где находится stdout, который является вашим эмулятором терминала, а затем перенаправляет stdout (и только stdout, а не stderr) в файл.
Вы можете использовать 2>file
для перенаправления stderr или поменять местами два перенаправления в предыдущем примере: >file 2>&1
чтобы перенаправить оба потока в один и тот же файл. Порядок важен, так как они оцениваются слева направо. На этот раз вы сначала перенаправляете вывод в файл, а затем ошибку в текущее местоположение вывода (которое уже является этим файлом).
Хитрость заключается в том, чтобы использовать script -c 'ssss-combine ...' output.txt
(потому что ssss не выводит на стандартный вывод)