Ответ 1
ls
выводится на stdout и stderr, поэтому вы можете использовать bash redirection, чтобы выбросить вывод ошибки.
ls *.zip 2>/dev/null
Как я могу отменить сообщения об ошибках с помощью команды bash ls
?
Пример:
В пути только файлы JPG. Shell-Command (bash)
ls *.zip
появляется сообщение об ошибке
Есть ли опция сообщения о недопустимости сообщения? Я хочу использовать эту команду в bash - script, и не хочу отображать это сообщение.
ls
выводится на stdout и stderr, поэтому вы можете использовать bash redirection, чтобы выбросить вывод ошибки.
ls *.zip 2>/dev/null
$ ls *.zip 2>/dev/null
будет redirect любые сообщения об ошибках на stderr в /dev/null (т.е. вы их не увидите)
Обратите внимание, что возвращаемое значение (заданное $?
) все равно будет отражать ошибку.
Чтобы подавить сообщение об ошибке, а также вернуть статус завершения, добавьте значение || true, например:
$ ls *.zip && echo hello
ls: cannot access *.zip: No such file or directory
$ ls *.zip 2>/dev/null && echo hello
$ ls *.zip 2>/dev/null || true && echo hello
hello
$ touch x.zip
$ ls *.zip 2>/dev/null || true && echo hello
x.zip
hello