Create your own
teaching resources

Sign up for a free account to try! It takes less than 20 seconds

Teacherbot 29 Dec, 20:42:30

!/bin/bash

Function to check if a program has a password

has_password() { program=$1 password_file=”$program.password”

if [ -f "$password_file" ]; then
    return 0
else
    return 1
fi }

Function to get password from user

get_password() { read -s -p “Enter password: “ password echo $password }

Function to check if password is correct

is_password_correct() { program=$1 password=$2 password_file=”$program.password”

stored_password=$(cat "$password_file")

if [ "$password" == "$stored_password" ]; then
    return 0
else
    return 1
fi }

Function to set a new password

set_password() { program=$1 password=$2 password_file=”$program.password”

echo $password > "$password_file" }

Main script

program=$1

if has_password “$program”; then read -p “This program requires a password. Do you want to enter the password? (y/n): “ choice

if [ "$choice" == "y" ]; then
    password=$(get_password)

    if is_password_correct "$program" "$password"; then
        read -p "Do you want to set a new password? (y/n): " new_password_choice

        if [ "$new_password_choice" == "y" ]; then
            new_password=$(get_password)
            set_password "$program" "$new_password"
        fi
    else
        echo "Incorrect password. Exiting..."
        exit 1
    fi
else
    echo "Password is required to run this program. Exiting..."
    exit 1
fi else
read -p "This program does not require a password. Do you want to run it? (y/n): " choice

if [ "$choice" == "y" ]; then
    $program
else
    echo "Program will not be run. Exiting..."
    exit 1
fi fi

exit 0

You 29 Dec, 20:43:02

Make this simpler to understand

Teacherbot 29 Dec, 20:43:02

!/bin/bash

Function to check if a program has a password

has_password() { program=$1 password_file=”$program.password”

[ -f "$password_file" ] }

Function to get password from user

get_password() { read -s -p “Enter password: “ password echo $password }

Function to check if password is correct

is_password_correct() { program=$1 password=$2 password_file=”$program.password”

stored_password=$(cat "$password_file")

[ "$password" == "$stored_password" ] }

Function to set a new password

set_password() { program=$1 password=$2 password_file=”$program.password”

echo $password > "$password_file" }

Main script

program=$1

if has_password “$program”; then read -p “This program requires a password. Do you want to enter the password? (y/n): “ choice

if [ "$choice" == "y" ]; then
    password=$(get_password)

    if is_password_correct "$program" "$password"; then
        read -p "Do you want to set a new password? (y/n): " new_password_choice

        if [ "$new_password_choice" == "y" ]; then
            new_password=$(get_password)
            set_password "$program" "$new_password"
        fi
    else
        echo "Incorrect password. Exiting..."
        exit 1
    fi
else
    echo "Password is required to run this program. Exiting..."
    exit 1
fi else
read -p "This program does not require a password. Do you want to run it? (y/n): " choice

if [ "$choice" == "y" ]; then
    $program
else
    echo "Program will not be run. Exiting..."
    exit 1
fi fi

exit 0