我必须在while循环中添加一个if语句。
当我编写./scriptname 1时,它执行我的while循环。当我编写./scriptname hello时,它仍然执行我的while循环。
我想要做的是,如果我在echo "no"后面添加字母,则执行./scriptname循环,如果我在D4之后添加数字,则执行D4循环。
有人知道我在附件中做错了什么吗?

发布于 2019-10-27 16:03:28
这是一个好的做法,保持您的if-然后-语句尽可能短,这样您就不需要else语句。
#!/bin/bash
x=$1
y=$2
if [[ $x =~ (^$|[^0-9]) ]]; then
echo "no"
exit 0
fi
while (( $x <= 3 )); do
echo "$x $y"
((x++))
sleep 5
done或者使用for-循环:
for ((z=3; $x<=$z; x++)); do
echo "$x $y"
sleep 5
donehttps://askubuntu.com/questions/1184201
复制相似问题