Обзор
yes — это простая утилита, которая непрерывно выводит определенную строку в бесконечном цикле. Эта команда в основном используется для автоматического ответа на вопросы подтверждения при автоматическом выполнении интерактивных команд и может быть полезной для автоматизации скриптов.
Основные характеристики
- Бесконечный вывод строки по умолчанию 'y'
- Возможность вывода пользовательской строки
- Используется для автоматического ответа на запросы подтверждения других команд
- Остановка выполнения нажатием Ctrl+C
Основные опции
Команда yes по умолчанию выводит 'y', но вы можете указать аргумент, чтобы повторять другую строку. Отдельных опций-флагов нет.
Указание строки для повторения
Сгенерированная команда:
Комбинируйте команды.
Описание:
`yes` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Примеры различных способов использования команды yes. Обычно она используется в сочетании с другими командами через конвейер (|).
Повторный вывод строки 'y' по умолчанию
yes
Непрерывно выводит 'y' до нажатия Ctrl+C.
Повторный вывод пользовательской строки
yes "Hello World!"
Повторно выводит строку 'Hello World!'.
Автоматический ответ на запрос подтверждения
yes | rm -i my_file.txt
Автоматически вводит 'y' на все запросы подтверждения интерактивных команд (например, `rm -i`), чтобы продолжить удаление. **Внимание: Эта команда может быть очень опасной, используйте ее с осторожностью.**
Использование с xargs
find . -name "*.txt" -print0 | yes | xargs -0 rm -i
При выполнении команды `rm -i` для всех найденных файлов .txt с помощью команды find, `yes` автоматически подтверждает удаление. **Это очень опасная комбинация, будьте осторожны.**
Советы и предостережения
Команда yes очень проста, но может быть мощно использована в сочетании с другими командами. Однако ее следует использовать с осторожностью.
Способ остановки команды
Команда yes выполняется бесконечно, поэтому ее необходимо принудительно остановить, нажав Ctrl+C в терминале.
- Ctrl+C: Завершает текущий процесс yes.
Осторожность при автоматизации
При использовании команды yes для автоматического ответа на интерактивные запросы следует быть очень осторожным. В частности, при использовании с командами, изменяющими или удаляющими данные, такими как `rm`, `mv`, `cp`, это может привести к непреднамеренной потере данных. Всегда тщательно понимайте команду и тестируйте ее перед выполнением скрипта автоматизации.
Альтернативы
В некоторых ситуациях вместо yes можно рассмотреть другие методы.
- Некоторые команды предоставляют собственные опции автоматического подтверждения, такие как `-y` или `--assume-yes`. По возможности, использование этих опций является более безопасным.
- В скрипте можно реализовать условную логику для выполнения действий только при необходимости, вместо симуляции ввода пользователя.