Intereting Posts
Прочитайте и подтвердите сценарий оболочки перед конвейером от curl to sh (curl -s | sh) Ubuntu 15.10 Desktop x86-64 Включение ручного входа приводит к тому, что «система работает в режиме с низкой графикой» Как найти и распечатать аргументы команды в ps? Как выполнить 'find' с 'sed' в функции bash Загрузочная запись для загрузки зашифрованных LVM Какой клиент GUI svn позволяет выполнять поиск по истории? Является ли NFS очень безопасным? Защищенные альтернативы nodogsplash build: необъявленный идентификатор Помощь с предоставлением групповых разрешений другим файлам пользователя Возможно ли перенаправление через UDP-порт? Как заменить строки-заполнители в документе содержимым из файла Обновление драйвера Alsa на клиентской машине без make Имя пути в сценарии оболочки содержит дополнительные символы при запуске скрипта Неопознанное обслуживание групп Для чего нужен сетевой интерфейс tun?

В чем смысл чтения -r?

чтобы понять другой ответ:

find / -type d -print0 | while read -r -d ''; do ls -ltr "$dir" | sed '$!d' 

первым шагом является понимание использования опции -r команды чтения.

Во-первых, я думал, достаточно будет просто выполнить

 man read 

для поиска значения параметра -r, но я понял, что справочная страница не содержит каких-либо объяснений для опции вообще, поэтому я googled, потому что она получила некоторые примеры чтения -t, read -p, но не читала -r.

Нет автономной команды read : вместо этого она является встроенной оболочкой и, как таковая, документируется на странице man для bash :

 read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...] [...] -r Backslash does not act as an escape character. The back‐ slash is considered to be part of the line. In particu‐ lar, a backslash-newline pair may not be used as a line continuation. 

Итак, чтобы суммировать, read обычно позволяет ломать длинные строки с использованием символа обратной обратной косой черты и обычно восстанавливает такие строки. Это слегка удивительное поведение можно отключить, используя -r .