Sed скрипт для печати переменной на основе пользовательского ввода

Я хочу написать сценарий sed, который читает вводимые пользователем данные, и если переменная соответствует предопределенной строке, она должна напечатать welcome, в противном случае она должна вывести извините.

Например, если пользователь вводит «Hello», система должна вывести «Welcome», если нет - «Sorry».

-1
задан 11 June 2015 в 15:38

2 ответа

#!/bin/bash
read -p "Enter some input:" USERINPUT
(grep "$USERINPUT" -q inputfile.txt ) && echo "Welcome" || echo "Sorry"
0
ответ дан 11 June 2015 в 15:38

При попытке получить вход пароля, который является, конечно, не, как сделать это.

Первый, пароль сравнения должен быть сохранен как хеш. Создайте это с 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
0
ответ дан 11 June 2015 в 15:38

Другие вопросы по тегам:

Похожие вопросы: