Как удалить каталог с подтверждением пароля в Bash

Убунту 8

В этом уроке мы углубимся в практическое применение сценариев Bash: удаление каталога с подтверждением пароля. Мы проведем вас через этот процесс шаг за шагом, подробно объясняя каждую команду и ее параметры.

Чтобы удалить каталог с подтверждением пароля в Bash, вы можете использовать сценарий Bash, который предлагает пользователю ввести пароль и сравнивает его с правильным паролем. Если пароли совпадают, сценарий приступает к удалению каталога. Если они не совпадают, сценарий завершается.

Введение в Баш

Bash (Bourne Again SHell) — интерпретатор командной строки или оболочка для Unix-подобных операционных систем. Это мощный инструмент, который позволяет пользователям взаимодействовать с системой с помощью текстовых команд. Сценарии Bash — это запись серии команд для выполнения оболочки. Он может автоматизировать задачи, выполнять файловые операции и многое другое.

Понимание задачи

Задача — удалить каталог в Bash, но только после того, как пользователь подтвердит свою личность с помощью пароля. Это полезно в сценариях, когда вы хотите предотвратить случайное удаление важных каталогов.

Баш-скрипт

Вот сценарий Bash, который выполнит эту задачу:

#!/bin/bash -x echo “Пароль:” прочитайте -t 30 S1 S2='55555' if [ “$S1” = “$S2” ]; затем rmdir -v /home/william/test else echo “fail” Sleep 10 Fi

Давайте разберем этот сценарий, чтобы понять, что делает каждая строка.

Шебанг (#!/bin/bash -x)

Шебанг (#!/bin/bash -x) в начале сценария сообщает системе, что этот файл является сценарием Bash и должен выполняться как таковой. Флаг -x используется для отладки и отображает каждую команду по мере ее выполнения.

Команды эха и чтения

Команда echo используется для отображения сообщения пользователю. В этом случае пользователю предлагается ввести пароль.

Команда чтения используется для чтения ввода пользователя. Опция -t 30 устанавливает тайм-аут в 30 секунд. Если пользователь не введет пароль в течение этого времени, сценарий завершится.

Сравнение паролей

Оператор if используется для сравнения введенного пароля ($S1) с правильным паролем ($S2). Если пароли совпадают, сценарий приступает к удалению каталога. Если они не совпадают, сценарий выводит «fail» и ждет 10 секунд перед завершением.

Команда rmdir

Команда rmdir используется для удаления каталогов. Опция -v делает команду подробной, то есть она будет отображать то, что она делает. В данном случае удаляется каталог /home/william/test.

Делаем скрипт исполняемым

Прежде чем вы сможете запустить скрипт, вам необходимо сделать его исполняемым. Это можно сделать с помощью команды chmod:

chmod +x скрипт.sh

Заключение

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

Для получения дополнительной информации о сценариях Bash вы можете обратиться к Руководство по GNU Bash. Не забывайте всегда быть осторожными при удалении каталогов, особенно при запуске команд от имени пользователя root.

Мы надеемся, что это руководство оказалось для вас полезным. Приятного написания сценария!

Чтобы запустить сценарий Bash, вам необходимо сделать его исполняемым с помощью команды chmod. Сделав его исполняемым, вы можете выполнить его, набрав ./script.sh в терминале, предполагая, что сценарий называется script.sh.

Чтобы изменить пароль для подтверждения, необходимо изменить значение, присвоенное переменной S2 в скрипте. Замените «55555» желаемым паролем в одинарных кавычках.

Да, вы можете изменить сценарий для удаления любого каталога, изменив путь, указанный в команде rmdir. Замените /home/william/test путем к каталогу, который вы хотите удалить.

Если вы введете неправильный пароль, сценарий выведет сообщение «fail» и подождет 10 секунд, прежде чем завершить работу. Каталог не будет удален.

В скрипте установлен таймаут на ввод пароля 30 секунд. Чтобы увеличить или уменьшить время ожидания, измените значение 30 в команде чтения. Например, чтобы установить тайм-аут в 60 секунд, измените -t 30 на -t 60.

Если вы не хотите, чтобы команда rmdir отображала то, что она делает, удалите опцию -v из команды rmdir в сценарии.

Похожие записи

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

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