shell编程---字符测试及for循环

一.字符测试

       ==:测试是否相等,相等为真,不等为假

       !=: 测试是否不等,不等为真,等为假

       >

       <

       -n string: 测试指定字符串是否为空,空则真,不空则假

       -z string: 测试指定字符串是否不空,不空为真,空则为假

   [ $username == $useername1 ] 等号两端必须要有空格

  1.bc

   echo "scale=2;111/22;" | bc 计算两个数的保留两位小数

练习:写一个脚本

传递一个参数(单字符就行)给脚本,如参数为q、Q、quit或Quit,就退出脚本;否则,就显示用户的参数;

#!/bin/bash

#

if [ $1 = ‘q‘ ];then

  echo "Quiting..."

  exit 1

elif [ $1 = ‘Q‘ ];then

  echo "Quiting..."

  exit 2  

elif [ $1 = ‘quit‘ ];then

  echo "Quiting..."

  exit 3 

elif [ $1 = ‘Quit‘ ];then

  echo "Quiting..."

  exit 4  

else

  echo $1

fi

  2.for循环  

    for I in {1...10}; do

       加法运算

    done


写一个脚本:

  计算100以内所有奇数的和以及所有偶数的和,分别显示之

#/bin/bash

#

declare -i oddsum=0

declare -i evensum=0

declare -i s

for I in {1..100};do

      let s=$[$I%2] 

   if [ $s -eq 0 ];then

       let oddsum=$[$oddsum+$I]

   elif [ $s -eq 1 ];then

       let evensum=$[$evensum+$I]

   fi

done

echo ${oddsum}---${evensum}


组合测试条件

-a: 与关系

-o: 或关系

!: 非关系

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] && [ $# -le 3 ]








本文出自 “珞辰的博客” 博客,请务必保留此出处http://luochen2015.blog.51cto.com/9772274/1637233

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。