Синтаксис:
yes [STRING]...
Команда yes многократно выводит строку STRING разделяемую символом новой строки (newline) на стандартный вывод, до тех пор, пока не будет принудительно завершена.
Если STRING не задано, выводится символ y и символ новой строки.
Команда yes может использоваться для автоматизации процесса ответов на запросы других команд.
Некоторые команды, просят пользователя ввести подтверждение какого-либо действия, например ввести символ y или слово yes. При этом, таких запросов может быть сотня или больше — что бы не вводить многократно ответы на запросы, можно применять команду yes
Например в случае копирования одной директории в другую, в случае совпадения имен файлов, команда cp может выдавать запросы на перезапись каждого файла и если файлов много — таких запросов может быть несколько тысяч (при этом, на каждом запросе, процесс копирования прерывается и команда ждет ответа пользователя).
Что бы не вводить многократно ответ при подобном копировании, можно применить команду yes.
Подтвердить перезапись всех файлов, при совпадении имен:
yes | cp -r /path/to/newdirectory /path/to/olddirectory
Запретить перезапись любых файлов, при совпадении имен:
yes n | cp -r /path/to/newdirectory /path/to/olddirectory
Аргументы команды yes передаются другим командам через конвейеры.
Если какая-либо команда не поддерживает конвейеры, можно попробовать использовать команду expect