我必须在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
done
https://askubuntu.com/questions/1184201
复制相似问题