码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2017-12-11 22:16:10      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:linux   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 root@192.168.1.$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循环案例

标签:linux   for   while   

原文地址:http://blog.51cto.com/linuxzdq/2049493

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!