13916729435 发表于 2018-8-25 11:42:09

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 ]

页: [1]
查看完整版本: shell编程---字符测试及for循环