Команда yes в операционной системе Linux служит для постоянного вывода в стандартный поток строки "yes" или любой другой строки.
Команда yes без параметров будет выдавать строку "y":
> yes
y
y
y
...
Команда yes с параметром будет выдавать указанную в параметре строку:
> yes maybe
maybe
maybe
maybe
...
Команда yes используется обычно в тех случаях, если заранее известно, что какая-то консольная команда во время своей работы будет запрашивать подтверждение на выполнение каких-либо действий. Если команда понимает в качестве подтверждения строку "y", то использовать утилиту yes можно так:
> yes | некая_команда
Если команда понимает в качестве подтверждения слово "confirm", то утилиту yes можно использовать так:
> yes confirm | некая_команда
Обычно, стандартные программы Linux понимают в качестве подтверждения строку "y", поэтому часто утилиту yes ипользуют в самом простом виде без аргументов.
Кстати, в Linux нет утилиты no, которая бы выводила строки "n" в стандартный вывод. Для того, чтобы отменять действия, можно использовать утилиту yes вот так:
> yes n | некая_команда
А что делать, если предполагается, что запущенная программа будет запрашивать значения по-умолчанию, и для их автоматического ввода должен нажиматься Enter? Как вывести в стандартный поток символы Enter через команду yes? Логика тут следующая. Если подумать, то утилита yes выводит в стандартный поток не просто строку "yes" или строку, заданную в параметре. Она выводит в стандартный поток ввода строку, завершенную символом Enter. Именно поэтому вывод команды yes выглядит как столбец, а не как непрерывная строка.
Поэтому, чтобы через команду yes все время нажимать Enter, надо просто выводить через yes пустую строку, вот так:
> yes "" | некая_команда
В принципе, это все, что нужно знать об утилите yes в ОС Linux.