Я не могу получить код, чтобы вычесть один из входных данных в этой программе C-Shell Linux, которую я сделал - PullRequest
0 голосов
/ 20 марта 2019

Это моя первая программа на C-Shell Linux, которую я делаю, и мне кажется, что я не могу получить выходные данные, содержащие входные данные - 1. Есть мысли о том, что я делаю неправильно?

Код:

#!/bin/csh

echo "Please enter a number: "
 read input
    if [[ $input -lt '100' ]]
    then
        echo "The number is less than 100"

        elif [[ $input -eq '100' ]]
        then
            echo "The number is equal to 100"

            else [[ $input -gt '100' ]]
                echo "The number is greater than 100"
read newi                
while [ "$newi" -gt 0 ]
    do echo "Please wait $newi more seconds"
    input=$(( newi - 1 ))
    done
echo "The script has ended. Goodbye!"
fi

1 Ответ

0 голосов
/ 20 марта 2019

Итак, я понял это! У меня было еще заявление, когда я пытался вычислить математическую задачу в той же строке. Я также закончил свой оператор if в конце моего кода вместо самого оператора if. В результате мой код заканчивался раньше, чем я хотел. Я также понял, что ввел новую переменную, когда я мог просто использовать ту же самую, чтобы упростить код. После того, как я немного отошел, чтобы перегруппироваться, я сложил это вместе. Спасибо всем за помощь в мозговом штурме!

#!/bin/csh

#promt user for input and receive for variable
echo "Please enter a number: "
 read input

 #determine if number is less than, greater than, or equal to 100
    if [[ $input -lt '100' ]]
    then
        echo "The number is less than 100"

    elif [[ $input -eq '100' ]]
    then
        echo "The number is equal to 100"
    else
        echo "The number is greater than 100"
    fi
    #subract 1 from value if greater than 0
while [ $input -gt 0 ]
    do echo "Please wait $input more seconds"
    input=$(( input - 1 ))
    done
echo "The script has ended. Goodbye!"
...