`

linux shell script loop 语法

阅读更多

原文链接:http://blog.sina.com.cn/s/blog_6b7bda7f0100ltqz.html

 

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export PATH

for var in a b c d f;

do

   echo "$var"

done

 

for b in $(seq 1 100)

do

 echo "$b"

done

 

for var in `seq 1 100`  #`: ESC key under  key

do

  echo "$var---------->$(($var*$var)) "

 ((sum=$var*$var))

 echo "$var------------>$sum"

 

done

 

a=1

while [ "$a" -le 5 ];

do

  echo "loop num : $a"

  a=$(($a+1))

done

 

 

a1=1

until [ "$a1" -gt 5 ]

do

    echo "until a1:$a1"

    a1=$(($a1+1))

done

 

s=0

for ((i=1;i<=100;i++))   

do

   s=$(($s+$i))

done

echo $s

 

(1)显示多个##号脚本

#!/bin/bash     #文件的开头解释语言

aa=#      #把这两个进行赋值

bb=#

for i in `seq 1 39`    #for循环,从1到39,每次递增1

do

  for b in `seq 1 $i`    #接下来嵌套for循环,从1到上面for循环的i值

  do

    echo -en "$aa"    #显示39个#符号。(-en这是转义字符)

 sleep 0.1    #暂停0.1秒的时间

    echo -en "$bb"    #接下来又显示#符号

 if [ $b -eq $i ]   #判断循环的b值是否等于循环的i值,如果相等就执行下面的语句

 then

   echo     #显示空的信息

 fi     #if 语句判断结束

done

  done      #for语句结束

 

======================================================================

(2)瞬间创建10个txt文档,里面的内容都是tsinghua-6

#!/bin/bash    #shell脚本的开头执行语句

for((a=1;a<=10;a++))   #for循环,从1到10,每次递增1

  do

  echo tsinghua-6 >>a$a.txt  #现实tsinghua-6这个词,并追加到a$a.txt中去,$a代表着10个。

  

 done     # 最后语句结束。

 

====================================================================

(3).这是一个shell脚本算出从1到10的平方

#这个脚本有 多个写法;

第一种写法;

#!/bin/bash     #脚本解释程序

for i in `seq 1 10`    #for循环,从1开始,每次递增1,知道10结束

  do

  echo "$i----->$(($i*$i))"   #把每次循环的值相乘,来达到算出1~10的平法的结果

 done      #语句结束

 

第二种写法:

#!/bin/bash     

for i in `seq 1 10`

do

 

    ((sum=$i*$i))    #sum等于两个$i值相乘的结果

echo "$i----->$sum"    #最后打印循环$i值对应的平方的结果值

 done      #语句结束

 

第三种写法:

#!/bin/bash

for((i=1;i<=10;i++))    #从1开始,每次递增1,一直到10

 do

 echo "$i----->$(($i*$i))"   #算出$i值对应的平方值

  done      #for语句结束

#刚刚上面三种写法都是用for语言来写,接下来第四种写法我们用while语句来写;

 

第四种方法:

#!/bin/bash

i=1      #把i赋值为1

while [ $i -le 10 ]    #开始while语句,从1开始,直到小于或等于10就停止。

 do

   echo "$i---->$(($i*$i))"   #把$i的值相乘,得出循环$i值的平方

 ((i=$i+1))    # 每次把$i值循环一次都加1,一直加到

 

 done      #语句的结束

 

====================================================================

(4).求100之内的数相加的和是多少

#第一种写法,通过for循环

#!/bin/bash   #开头执行语句,脚本解释

for((i=1;i<=100;i++))  #for循环,从1到100

  do

   ((sum+=$i))   #$i每循环一次的值赋予给sum,并与sum相加一次,一直加到100为止

  done    # for语句循环的结束

  echo "1+2+3+4...=$sum" #最后显示相加后的结果

 

#第二种写法,通过while语句来计算

#!/bin/bash     #shell开头执行解释器

i=1      #把i赋值为1

while [ $i -le 100 ]    #开始while循环,从1开始,小于等于100

  do    

   ((sum+=$i))     #把每次$i的值都赋予给sum并和sum相加一次

    ((i=$i+1))     #$i每循环一次都加1,表示每循环一次都递增1

   done      #while语句循环结束

 

  echo "1+2+3+4+5...=$sum"   #最后打印100自身相加的和

 

====================================================================

(5).这是判断一个分数是否过60分的SHELL脚本

#!bin/bash    #shell脚本的解释程序

echo -n "Please input Number:"  #在屏幕上现实一行请输入数字

read number    #从键盘上读取数字

if [ $number -ge 60 ]   #判断你输入的数字是否大于等于60

    then

    echo "Pass"    #如果是,就显示Pass

    

      else

      echo "No"    #如果不是,就显示No

fi 

 

=====================================================================

(6).9x9乘法表

#!/bin/bash    #开头语句,代表是用SHELL语言执行

for ((a=1;a<=9;a++))   #for循环,从1递增到9

  do

  for ((i=1;i<=a;i++))   #开始下一个for循环,从1递增到到上一个9 

    do

   ((sum=$a*$i))   #求2个for循环1到9的相乘结果

 echo -en "$i*$a=$sum\t"  #显示一个相乘的公式,最后得出结果

        if [ $i -eq $a ]  #判断语句,如果下面的FOR循环的i值等于上面FOR循环的A值的时候,就执行

        then  

        echo -e "\n"   #强制换行

 fi    #if语句结束

  done

     done    #for语句结束

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics