Как заставить кошку ничего не печатать, если папка пуста

Я работаю над bash, и мне поручено распечатать все файлы в последней измененной подпапке, и я могу использовать только одну строку команд. Вот что у меня так далеко:

cat "$( ls -t | head -1)"/*.*

Это работает правильно, за исключением случаев, когда последняя измененная папка пуста, и в этом случае cat возвращает ошибку. Мне нужно избегать этого и заставить кота ничего не распечатывать.

2 ответа

Рассмотрите возможность перенаправления стандартной ошибки на /dev/null, Это приведет к тому, что любые сообщения об ошибках, которые генерирует команда, будут отправлены куда-то, кроме стандартного. Если твой cat выдает ошибку, сообщение будет отправлено куда-то еще, /dev/null игнорировать его или какой-либо файл, если вы хотите войти. Ваша команда будет выглядеть примерно так:

cat "$( ls -t | head -1)"/*.* 2> /dev/null

2 представляет стандартную ошибку, так 2> направляет его в место, указанное после.

2>/dev/null Это перенаправление ошибок перенаправит все сообщения об ошибках в дамп, который не может быть восстановлен,

используйте команду 2>/dev/null

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