Получить пользовательский ввод и проверить его, linux - PullRequest
0 голосов
/ 07 апреля 2020

Я новичок в unix, и я пытаюсь использовать некоторое время l oop, чтобы получить целочисленный ввод для двух чисел пользователя, но мне нужно проверить, является ли оно целым числом, и повторно спросить, если это не так, поэтому Я пытался использовать операторы if в то время как l oop. Я не могу заставить это работать, что я делаю не так с временем, и если я oop? #! / bin / bash

    echo “Enter first number:“

    while read number1
    do
      if[[ $number1 ]] && [ $input -eq $input 2>/dev/null ]
      then 
        echo “$number1”

      else
        echo "$number1 is not an integer or not defined.Try again”
      fi
     done


    echo “Enter second number:“
    while read number2
       do
        if[[ $number2 ]] && [ $input -eq $input 2>/dev/null ]
            then 
              echo “$number2”
        else
              echo "$number2 is not an integer or not defined.Try again”
         fi
    done

1 Ответ

0 голосов
/ 08 апреля 2020

Если вы пытаетесь получить число и проверять его, пока оно не станет целым, попробуйте следующий код.

#!/bin/bash
echo "enter number"
while read number1
do
if ! [[ $number1 =~ ^[0-9]+$ ]]
then
        echo "number is not an integer"

else
        echo "number is an integer"
        exit;
fi
done
...