В настоящее время я ищу способы подавления ошибок команды в Linux, в частности, команды cp
.
Я делаю:
root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/.
cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory
Как подавить сообщение об ошибке , которое получает распечатанный на экране? Т.е. я не хочу видеть это сообщение об ошибке на моем мониторе.
Ответы:
Чтобы подавить вывод ошибок в
bash
, добавьте2>/dev/null
в конец вашей команды. Это перенаправляет файловый дескриптор 2 (STDERR) на/dev/null
. Есть аналогичные конструкции в других оболочках, хотя конкретная конструкция может незначительно отличаться.источник
Перенаправить сообщение об ошибке (STDERR) на
/dev/null
:Пример:
источник
Ваш вопрос не ясен. Наиболее разумным было бы вообще не запускаться,
cp
когда подстановочный знак не соответствует ни одному файлу, а не запускатьcp
и скрывать сообщение об ошибке.Для этого, если оболочкой является bash, установите этот
nullglob
параметр так, чтобы шаблон подстановки расширялся до нуля, если он не соответствует ни одному файлу. Затем проверьте, расширился ли шаблон до чего-либо, и не вызывайтеcp
в этом случае.В простом sh проверьте, был ли оставлен глобус без изменений, указывая на несуществующий файл.
источник
Добавьте это в ~ / .bashrc:
тогда:
источник
stderr
к/dev/null
когда выходная ошибка является нежелательным. Или используя другое имя, чемcp
.cp
.Вы можете использовать либо:
вариант 1:
2>/dev/null
.2 вариант:
2>&1
кроме того, вы можете использовать это в конце вашей команды, она будет подавлять сообщения об ошибках:
Пример здесь
здесь вы не можете получить информацию о сообщении об ошибке. Ex2:
здесь вы можете получить некоторую информацию из файла журнала ниже:
источник