Тройник не получает весь выход из трубы

Вы можете использовать команду fsck. Обязательно выполните fsck в размонтированных файловых системах, чтобы избежать каких-либо проблем с повреждением данных.

Просто нажмите Ctrl + Alt + T на клавиатуре, чтобы открыть терминал. Когда он откроется, запустите следующие команды:

fsck /dev/sdaX

Обязательно замените X номером вашего устройства.

Ниже приведены возможные коды выхода для команды fsck .

0 – No errors
1 – Filesystem errors corrected
2 – System should be rebooted
4 – Filesystem errors left uncorrected
8 – Operational error
16 – Usage or syntax error
32 – Fsck canceled by user request
128 – Shared-library error

Вы также можете взглянуть на fsck

Источник: fsck Man Page

1
задан 23 June 2015 в 13:22

1 ответ

Поскольку сообщения об ошибках обычно отображаются на STDERR (дескриптор файла 2), вам необходимо перенаправить STDOUT и STDERR в tee:

./some_app -i "$INDEX" |& tee "$LOG"

. Когда вы выполняете ./some_app -i $INDEX | tee $LOG, вы перенаправляя STDOUT на tee.

|& приведет к перенаправлению STDOUT и STDERR.

Если вы не можете перенаправить только STDOUT (как вы были) :

./some_app -i "$INDEX" | tee "$LOG"

С другой стороны, если вы хотите перенаправить только STDERR:

./some_app -i "$INDEX" 2>&1 >/dev/null | tee "$LOG"
3
ответ дан 23 May 2018 в 19:34

Другие вопросы по тегам:

Похожие вопросы: