天天看点

shell脚本练习一(if语句、case语句、for语句、while语句)

if多分支语句练习

#!/bin/bash

read -p "请输入100米赛跑秒数:" i

if [ $i -lt 10 ] && [ $i -gt 0 ]

  then

    echo "进入决赛"

read -p "输入男女" a

   if [ $a = 男 ]

    then

     echo "进入男子组"

   elif [ $a = 女 ]

     echo "进入女子组"

   else

     echo "error"

   fi

 elif [ $i -ge 10 ]; then

   echo "淘汰"

else

 echo "错误"

fi

case语句练习,根据文件名后缀来自动解压压缩文件

vim untar.sh

case $1 in

  *.gz)

    if  [ -f $1 ]

    tar -zxvf $1 -C /opt

    fi

  ;;

  *.bz2)

    if [ -f $1 ]

    tar -jxvf $1 -C /opt

  *)

    echo "文件格式错误"

esac

求小于100的整数和

sum=0

read -p "输入小于100的整数:" n

if [ $n -lt 100 ]; then

  for i in $(seq 1 $n)

  do

    let sum=$sum+$i

  done

  echo "从1到$n之间的所以整数的和为$sum"

  echo "输入错误"

求小于100的奇数和、偶数和

#for语句格式

for i in {1..100..2}

do

done

echo "基数和=$sum"

SUM=0

for i in $(seq 0 2 100)

    let SUM=$SUM+$i

   echo "偶数和=$SUM"

#while语句格式

a=1

b=0

while [ $a -le 100 ]

if [ `expr $a % 2` -eq 1 ]; then

# if [ $(($a%2)) -eq 1 ]; then

   let b=$b+$a

  let a++

 echo "基数和=$b"

A=1

c=0

while [ $A -le 100 ]

# if [ `expr $A % 2` -eq 0 ]; then

if [ $(($A%2)) -eq 0 ]; then

  let c=$c+$A

  let A++

 echo "偶数和=$c"