当前位置:首页 > 编程笔记 > 正文
已解决

linux内的循环

来自网友在路上 162862提问 提问时间:2023-11-07 05:53:42阅读次数: 62

最佳答案 问答题库628位专家为你答疑解惑

格式

while 【  条件判断 】 

do        

        语句体

done

上图

第一次代码,输入语句在外面,结果输入完(非hello)程序不断循环,没办法,ctrl+c给程序终止了,然后把用户输入的语句放到了循环体里面,结果正常了,

1.第一次判断 因为wi没有具体值,所有判断是成立,终止循环,但是判断是前面加“!”,这是反义,所以如果输入的不是hello,那么就一直循环,如果输入的是hello,则停止循环

其中需要注意的是中括号内部变量要加引号,注意空格分隔格式问题

while    【   判断 】  do  语句体   done    全程没有分号,这个和if  【 条件 】; then    语句体   fi的区别。当然也学过case  ,结束是两个分号

再看一个案例

until  do  while  这个与while相反,当条件成立就跳出循环

仔细梳理下,感觉下面这个循环没啥必要呢,不过存在就有存在的道理哈。

案例三:计算1+2+3+...+n

if 加中括号,中括号和test功能类似,都是测试判断之意 这里涉及几个知识点,把之前的学习的复习下

由于我们输入变量并没有声明类型,所以默认是字符串,利用test中-n判断后面字符串是否是空,如果是空则返回false,

if里面的判断实现了,把数字替换成空格的命令 sed  ‘s/[0-9]//g’,固定格式,单引号,前后是s和g,小白写的时候,最前面是斜杠,导致报语法错误,后来回去查找命令才发现格式不对

那么就是上面判断就是把数字替换成空格,然后利用-n判断返回值,如果是数字,替换成空格后是空串,返回false,直接执行else,否则执行then后面的语句体。

根据输入的字符串数值,采用$((表达式)) 计算求和,这个在之前学到过可以用declare -i  也可以用固定格式计算。结果如下图

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"linux内的循环":http://eshow365.cn/6-34281-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!