Трусость — мать жестокости (М. Монтень).

Как автоматически отвечать на Да или Нет в командах Linux-Unix

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
26 июня 2017
Как автоматически отвечать на Да или Нет в командах Linux-Unix
Много времени в командах Linux / Unix или внутри скрипта мы должны обеспечить ввод подтверждения как Yes или No. Это положение ручного ввода можно избежать. В этой статье мы будем обсуждать, как мы можем делать автоответ на Да или Нет для команд Linux-Unix, чтобы сделать жизнь проще для сисадминов.

Как автоматически отвечать на Да или Нет в командах Linux-Unix

Метод 1:  Повторять да или нет

Вы могли бы использовать этот метод, вторя да или нет до фактической команды или сценария и размещения трубы «|» между этими двумя командами. Для разработки этой методики покажем пример.

Допустим, у вас есть пять текстовых файлов в каталоге «/tmp/AndreyEx», как показано ниже.

Теперь вы хотите удалить все или только один файл «1.txt» в этом каталоге. Ответ прост, команда rm. Однако эта команда попросить да или нет, прежде чем приступить к удалению файла. Как показано ниже:

В описанном выше способе мы обеспечили ввод «у» для команды rm. Чтобы этого можно было избежать, укажем перед командой rm, как показано ниже:

Мы сделали автоматический ответ на команду, но есть еще проблема. Команда echo не может использоваться для ответа как непрерывный ответ да или нет на команды. В этой ситуации вам необходимо использовать следующий метод.

Метод 2: команда yes.

Да команда является другим вариантом, если вам надо автоматически отвечать Yes или No на команды в Linux-Unix.

В основном то, что команда yes делает, он непрерывно выводит строки, передаваемые в них или даже передать строку yes в одиночку. Следовательно, мы можем использовать эту возможность для автоматического ответа да или нет в команды Linux/Unix/скрипты. Давайте рассмотрим пример. У нас есть пять файлов, как раньше, и мы хотим удалить все эти файлы, не отвечая на вопрос о подтверждении Да или Нет. Тогда попробуйте ниже метод, который использует команду «Yes».

Вот то, что произошло, когда команда yes дается непрерывный ответ, как Yes для следующей команды rm. Результат удаления всех файлов без ручного вмешательства. Это не может быть достигнуто с помощью метода эхо-да, поскольку он дает ввод как Да только один раз !!!

Способ 3: команда yes с другим входом.

Допустим, вы не хотите ответы, вместо Да. В этот раз, когда вы хотите ответить no для всех подтверждений, заданные командой. Далее следует ниже пример. Здесь мы не ответили no на все ответы. Следовательно, никакие файлы не были удалены системой.

Даже вы можете использовать следующую команду вместо выше.

Вывод:

Таким образом, мы можем использовать команду yes для автоматического ответа Да или Нет для команд Linux-Unix. Это очень помогает сисадмину выполнять команды в непрерывной форме, что делает их жизнь легкой и комфортной.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 198

Если статья понравилась, то поделитесь ей в социальных сетях:

Один комментарий к Как автоматически отвечать на Да или Нет в командах Linux-Unix

  1. Классный:

    Приветствую! Спасибо автору за полезную статью!
    Я ещё вот такой скрипт использую sudo apt update; sudo apt upgrade -y; sudo apt autoremove -y; notify ‘ПК обновлён’;

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close