循环错误脚本不起作用

问题描述 投票:-1回答:1
#!/bin/bash
whilenum=1
while [ $whilenum -lt 5 ]
do 

if  [ $whilenum == 1 ]
then
function funct1 {
echo The value of whilenum is $whilenum
}
funct1 
else break
fi

if (( $whilenum == 2 | $whilenum == 3 ))
then
for animal in dog bird turtle
do
echo $animal
done
fi  

if [ $whilenum == 4 ]
then
echo Enter your name
read username
fi

if [ ${#username} >  8 ]
then
echo User name is long
else
echo User name is short

fi

whilenum=$(( $whilenum+1 ))
done 

我想创建一个变量whilenum,将其设置为1,使用while循环检查它的值是否小于5,如果它是脚本应该的,则>]

  1. 如果whilenum等于1,我应该调用一个函数以回显whilenum的值(我必须做其他事才能使它退出)并中断

  2. 如果whilenum = 2或3,请使用for循环通过使用可变动物向用户显示单词列表(狗猫鸟龟)>]

  3. 如果whilenum等于4,则应询问其名称,检查其是否大于8。如果其大于i,则应回显大于8的其他值,否则应回显较低的参数

  4. 当我调整数字以测试数字时,什么也没发生我使while循环递增,以便它可以终止,但不确定其是否有效。没有得到任何语法错误,可能有一些逻辑错误

#!/ bin / bash whilenum = 1而[$ whilenum -lt 5]如果[$ whilenum == 1]则执行函数funct1 {echo whilenum的值为$ whilenum} funct1否则,如果((($ $ num == 2 | $ whilenum == ...

linux bash for-loop while-loop do-while
1个回答
0
投票

问题是,如果whilenum不等于1,则您正在中断。因此,您的脚本将不会继续。我认为您应该删除else break,并且应该能够找到它。

© www.soinside.com 2019 - 2024. All rights reserved.