Журналирование является техникой, которая помогает с восстановлением после проблем, которые происходят, когда мультиоперации записи прерваны. Такие прерывания могут оставить файловую систему в непоследовательном состоянии между записями.
Прерывания могут произойти с "нормальными" блочными устройствами и блочными устройствами dm-склепа одинаково. Для файловой системы блочное устройство является блочным устройством. Система шифрования блочного устройства и журналирование файловой системы являются абсолютно отдельными проблемами.
Если Ваш вопрос, "как делают я подавляю вывод stderr от команды", ответ будет чем-то вроде:
command 2> /dev/null
Это перенаправит stderr (иначе дескриптор файла 2) к /dev/null
, который просто отбрасывает что-либо, что это получает.
Однако rm
управляйте поддерживает -f
флаг, который будет препятствовать тому, чтобы он произвел сообщение об ошибке, если файл не будет существовать:
$ rm file_that_does_not_exist
rm: file_that_does_not_exist: No such file or directory
$ rm -f file_that_does_not_exist
$
script
излишество для этого. Да это работает, но это не то, для чего был сделан сценарий. Сценарий используется для приложений, которые получают доступ к TTY непосредственно и не используют STDOUT/STDERR.
Можно легко выполнить это с основным перенаправлением оболочки.
./remove.sh &> remove.log
script -c remove.log 'your command' > /dev/null
.script
команда получитstdout
иstderr
к Вашему файлу журнала и перенаправлению подавит весь терминальный вывод отscript
команда. – larsks 18.02.2012, 02:06