shell脚本逻辑控制


类似c语言switch

echo -n "请输入成绩:"
read score
let s=$score/10
case $s in
 10) echo "perfect" ;;
  9) echo "great" ;;
  8) echo "good" ;;
  7) echo "ok" ;;
  6) echo "just so so" ;;
  *) echo "failure" ;;
esac

。。。。。。。。。。。。。。。。。。。。。。。。。。

#解析命令行传入的数学式并打印结果
if [ $# -eq 3 ]
then
 echo "输入正确"
else
 echo "输入错误"
 exit 1
fi
case $2 in
 +)   let var=$1+$3 ;;
 -)  let var=$1-$3 ;;
 X|x) let var=$1*$3 ;;
 /)  let var=$1/$3 ;;
 *)  echo 输入错误 
   exit 1;;
esac
 printf "$1 $2 $3 = %d\n" $var

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
#计算所有命令行参数之和
sum=0
for n in $@
do
 if test $n == $0
 then
  sum=0
 else
  let sum+=$n
 fi
done
#for((i=1;i<=$#;i++))
#do
# echo $sum
# let sum+=$[$i]
#done
echo $sum

,,,,,,,,,,,,,,,,,,,,,,,,,,
#循环打印星期一到星期日
#for n in 周一 周二 周三 周四 周五 周六 周日
#do
# echo 今天是 $n
#done
#循环打印1-10
#for((n=1;n<11;n++))
#do
# echo -n $n " "
#done
#echo ""
for n in {1,2,3,4,5,6,7,8,9}
do
 echo $n
done

,,,,,,,,,,,,,,,,,,,,,,,,,
echo -n "Please input a number:"
read num
sum=0
for((n=1;n<=num;n++))
do
 let sum=$sum+$n
done
printf "1到$num的和为:$sum"

,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#求用户输入的两个数之间的最大公约数
#命令行参数为用户输入的两个数
max=1
if test $1 -lt $2
then
 min=$1
else
 min=$2
fi
for((n=2;n<=min;n++))
do
 let num1=$1%$n
 let num2=$2%$n
 if test  $num1 -eq 0  -a  $num2 -eq 0
 then
  max=$n
 fi
 
done
if test $max -eq 1
then
 printf "$1和$2除1之外没有公约数\n"
else
 printf "$1和$2的最大公约数为$max\n"
fi

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#了解until循环
n=$1
until test $n -gt 10
do
 echo -n $n " "
 let n=$n+1
done
echo 循环结束了n= $n
echo ""

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

#了解while循环
n=$1
while test $n -le 10
do
 echo -n $n " "
 let n=$n+1
done
echo ""
echo 循环结束了n= $n


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值