shell脚本while循环(shell脚本while循环1加到100的和)

简单的shell while循环,朋友们指点下

#!/bin/bash

i=1 设置变量i的初始值是1

while [ $i -le 1000 ] 开始while循环----当变量i小于等于1000时

do

echo 1 http://192.168.110.72/003/ff 开始 执行 echo 1 http://192.168.110.72/003/ff

let i++ 执行完了上述命令后,开始给变量i加1,此时变量i

done 就变成了2,因为2是小于1000,所以继续执行

echo 1 http://192.168.110.72/003/ff,以此类推。直到1001,因为1001

大于1000,所以跳出循环,终止执行。

shell编程中while ture和while :为什么等同?

shell编程中while true与while :确实等同。类似于C语言中的 while (1),用于构造无穷循环。

在shell编程中经常用到循环,常用的循环有for和while循环两种。while循环默认以行读取文件,而for循环以空格读取文件切分文件,本篇就结合现网的一些使用示例说说二者的用法和区别。

一、常用语法

1、for循环

for循环常用的语法结构有如下几种:

for 变量 in seq字符串

for 变量 in `command` " "

for 变量 in "$@"或“$*”

for((赋值;条件;运算语句))

2、while循环

while循环常用的语法结构有如下几种:

二、行读取示例

这里以常见的df获取磁盘信息为例,了解下使用for和while的几种循环方法处理时的区别。先看下我写的脚本,内容如下:

上面的脚本执行时结果如下:

可以看到,只有后面两种方法可以正常获取到我们想要的数据,前面两种方法在处理时和我们想要的结果都不一样。此示例得出的结果为:

1、while循环: 以行读取文件,默认分隔符是空格或者Tab;

2、for循环: 以空格读取文件,也就是碰到空格,就开始执行循环体,所以需要以行读取的话,就要把空格转换成其他字符。

三、ssh连接与wait

这里还是以一个测试脚本为例:

此示例的结果这里不再输出,具体可以使用该脚本ssh几台主机做个测试,测试后得到结果如下:

1、for循环: 循环体在后台执行,等待循环体全部执行结束,后面的命令接着执行。

2、while循环: wait没起到作用,循环体在后台执行,后面的命令也同时在执行。循环体内有ssh、scp、sshpass的时候有执行一次循环就退出的情况,解决该问题方法有如下两种:

a、使用ssh -n "command" ;

b、将while循环内加入null重定向,如 ssh "cmd" /dev/null 将ssh 的输入重定向输入。

shell while循环

while?[?$c?!=?"1"$c?!=?"2"?]

改成

while?[[?$c?!=?"1"$c?!=?"2"?]]

或者

while?[?$c?!=?"1"?-a?$c?!=?"2"?]

另外,如果像这样是输入1或者2,建议换成 select 语句。

shell脚本 while循环

while?:

do

...?#填充点击事件

done

#不知道你是不是这个意思。。。

shell脚本while用法

while? do? 循环是shell中比较简单的一种循环用法,它的构成是这样的

while? 条件

do

执行语句

done

先来一个简单的小例子―累加

再来一个比较有意思的例子,实现一个加法计算器的功能

结果为

这个脚本中有个命令――read命令,它的作用是读取我们从键盘上输入的信息,详细的用法在下一章当中讲解。

167人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册