Я хочу написать сценарий sed
, который читает вводимые пользователем данные, и если переменная соответствует предопределенной строке, она должна напечатать welcome, в противном случае она должна вывести извините.
Например, если пользователь вводит «Hello», система должна вывести «Welcome», если нет - «Sorry».
#!/bin/bash
read -p "Enter some input:" USERINPUT
(grep "$USERINPUT" -q inputfile.txt ) && echo "Welcome" || echo "Sorry"
При попытке получить вход пароля, который является, конечно, не, как сделать это.
Первый, пароль сравнения должен быть сохранен как хеш. Создайте это с md5sum
, например:
echo hello | md5sum
дает
b1946ac92492d2347c6235b4d2611184 -
Теперь для получения входа, мы можем ответ @Serg использования , немного измененный. Мы используем -s
для сокрытия, вход (держите его в секрете).
echo Please enter password:
read -s input
и сравнивают его с хешем:
input=$(echo $input | md5sum)
if [ $input == "b1946ac92492d2347c6235b4d2611184 -" ]
then
echo "Welcome, your password was correct"
else
echo "Sorry, wrong password"
fi