用Shell编写for循环和while循环案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Shell编写for循环和while循环案例相关的知识,希望对你有一定的参考价值。

(1)Shell中的单引号和双引号区别

??A="www.jfedu.net"

??B=‘$A‘

?echo $B

注释:?

? ? ? ? ? ?把www.jfedu.net赋值给变量A,?把变量A的内容赋值给变量B,打印出变量B的结果,打印出的结果为$A

? ? ? ? ? ?因为变量A是一个弱引用,引用的结果只是一个字符


A="www.jfedu.net"

B="$A"

echo $B

注释:

? ? ? ? ? ??把www.jfedu.net赋值给变量A,?把变量A的内容赋值给变量B,打印出变量B的结果,打印出的结果为www.jfedu.net

? ? ? ? ? ? 因为变量A是一个强引用,变量B的引用结果是www.jfedu.net,而不是一个字符


(2)for循环语法格式

? ? for? var? in (表达式)

? ? do

????????????语句

? ? done


(3) 用for循环打印1到100

? ? for i? ?in? `seq 1 100`

? ? do

? ? ? ? echo $i

? ? done


?注释: 单引号和双引号只适用于变量引用,涉及到计算,不能用单引号和双引号

??

拓展

? ? ?用for循环打印1到100另外二种写法

? for? i? ?in? $(seq 1 100)

? do

? ? ?echo $i

? done


? for i? in? `echo? {1..100}`

? do

? ? ?echo $i

? done

?注释: echo后面不要忘记加空格,不加空格,会报错


(4) 用for循环读取文件内容,并打印到屏幕上

?for i? in? `cat list.txt`

?do

? ? ?echo $i

done


(5) 用for循环批量到远程主机执行命令

? command="$*"

? for? i? ?in? ?`seq 1 100`

? do

? ? ?ssh -l? root? 192.168.1.$i? "$command"

? done


(6)用for循环批量到远程主机传输文件

?files="$*"

? for? i? ?in? `seq 1 100`

?do

? scp -r $files [email protected]$i:/tmp

done


(7)用for循环输出1到100的和

?j=0

for i? in? `seq 1 100`

do

? ?j=`expr $i+$j`

done

echo $j


(8) while循环格式

? while? (表达式)

? do

? ? ? 语句

?done


(9) 用while循环读取文件列表内容,并把结果打印在屏幕上

?while read line

?do

? ? ? echo $line

?done<list.txt


(10) 用while循环,每隔一秒在屏幕上输出hello? word

? while? sleep 1

? do

? ? ? echo "hello word"

? done


(11) 用while循环,打印1到100

? i=0

?while(i<=100)

?do

? ? ?echo $i

? ? ? i=`expr $i+1`

?done


(12) while循环打印1到100的和

? j=0

? i=1

? while(i<=100)

? do

? ? ? ?j=`expr $i+$j`

? ? ? ?((i++))

?done

? echo $j? ? ??

?


以上是关于用Shell编写for循环和while循环案例的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程Shell中for循环while循环until循环语句

for / while / until 基础循环语句案例图解 shell编程之循环语句

shell脚本——循环(for+while+until)

Shell脚本(for循环,while循环,break跳出循环,continue结束本次循环)

shell编程

浅谈Shell脚本中for循环while循环及case分支语句