If / Else Заявления Linux, Vi, Простые сценарии

622
Ecojin

Сначала я попытался найти ответы на свои вопросы, и новичку действительно сложно сформулировать свои вопросы таким образом, чтобы получить онлайн результаты с ответами, имеющими отношение к текущей ситуации.

Что, как говорится.

Я пытаюсь написать простую программу, которая запрашивает, какой текст вы хотите повторить (и сколько раз вы хотели бы повторить его. У меня это работает, но для одной из переменных (сколько раз повторить), если один вводит текст вместо цифр, он потерпит неудачу. Итак, как мне добавить оператор If / Else, который не сломает скрипт?

#!/bin/bash echo "Please input text you wish to print." read text echo "Please input number of times you wish to print text." read number if for i in `seq $number`; do echo "$text" else echo "Try again with valid input."; done 

Этот скрипт работает отлично, однако.

#!/bin/bash echo "Please input text you wish to print." read text echo "Please input number of times you wish to print text." read number for i in `seq $number`; do echo "$text"; done 
-1
Пожалуйста, переформатируйте ваш вопрос и протестируйте приведенный вами пример. Справка по редактированию уценки находится под вопросительным знаком в правом верхнем углу окна редактирования. Thor 6 лет назад 1
Этот сайт использует [форматирование уценки] (https://stackoverflow.com/editing-help) xenoid 6 лет назад 0

1 ответ на вопрос

1
xenoid

Чтобы проверить, является ли ваша переменная числом, смотрите здесь .

Ваше ifутверждение не имеет условия ... Правильный синтаксис:

if [ some_condition ] then # the code to execute if true (your `for` loop) else  # the code to execute if false (optional) fi # "if" backwards 

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