If/Else 语句 Linux、Vi、简单脚本

If/Else 语句 Linux、Vi、简单脚本

首先,我尝试寻找问题的答案,但对于新手来说,以一种能够产生与当前情况相关的在线结果的方式来表述他的问题确实非常困难。

话虽如此。

我正在尝试编写一个简单的程序,提示您想要重复的文本(以及您想要重复多少次)。我已经让它运行了,但是对于其中一个变量(重复多少次),如果输入文本而不是数字,它就会失败。那么我该如何添加不会破坏脚本的 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

要测试变量是否为数字,请参阅这里

您的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

相关内容