中国网络水泥 发表于 2018-8-24 06:37:00

shell中的算数比较

  1.shell脚本的调试方法:
  sh +x filename.sh
  2.shell程序设计的语法:
  条件测试是程序设计中不可缺少的一部分.以下就是shell程序设计中常见的条件测试方法.
  “test”或”[ ]”命令:使用这二个命令用来测试条件是真还是假.使用方法:
  if test –f file.c 或 if [ -f file.c ]
  then … then …
  fi fi
  当条件满足(即为真)时,则执行then后面的语句.
  注意在使用方括号”[]”来测试条件时,方括号要与测试条 件之间留出空格.
  测试条件分类:字符串比较类\算术比较类\与文件相关的条件测试类
  字符串比较类:
  string1 = string2 如果两字符串相同,则结果为真
  string1 != string2 如果两字符串不相同,则结果为真
  -n string 如果字符串不是空,则结果为真
  -z string 如果字符串是空,则结果为真
  注意在比较相等或不等的时侯,=/!=的两边要与比较的两字符串要有空格符相隔开.
  算术比较类:
  expression1 –eq expression2 如果两个表达式相等,则结果为真
  expression1 –ne expression2 如果两个表达式不等,则结果为真
  expression1 –gt expression2 如果前一个表达式大于后一个表达工,则结果为真
  expression1 –ge expression2 如果前一个表达式大于或等于后一个表达工,则结果为真
  expression1 –lt expression2 如果前一个表达式小于后一个表达工,则结果为真
  expression1 –le expression2 如果前一个表达式小于或等于后一个表达工,则结果为真
  ! expression 取表达式的非,即表达式为假,则结果为真
  与文件有关的文件测试类:
  文件条件测试 结果
  -d file 如果文件是一个子目录,则结果为真
  -e file 如果文件存在,则结果为真
  -f file 如果文件是一个普通文件,则结果为真
  -g file 如果文件的set-group-id被设置,则结果为真
  -r file 如果文件可读,则结果为真
  -s file 如果文件的长度不为0,则结果为真
  -u file 如果文件的set-user-id被设置,则结果为真
  -w file 如果文件可写,则结果为真
  -x file 如果文件可执行,则结果为真
  -b file 若文件存在且是一个块特殊文件,则为真
  -c file 若文件存在且是一个字符特殊文件,则为真
  -d file 若文件存在且是一个目录,则为真
  -e file 若文件存在,则为真
  -f file 若文件存在且是一个规则文件,则为真
  -g file 若文件存在且设置了SGID位的值,则为真
  -h file 若文件存在且为一个符合链接,则为真
  -k file 若文件存在且设置了"sticky"位的值
  -p file 若文件存在且为一已命名管道,则为真
  -r file 若文件存在且可读,则为真
  -s file 若文件存在且其大小大于零,则为真
  -u file 若文件存在且设置了SUID位,则为真
  -w file 若文件存在且可写,则为真
  -x file 若文件存在且可执行,则为真
  -o file 若文件存在且被有效用户ID所拥有,则为真
  -L file 若文件为符号链接,则为真
  -z string 若string长度为0,则为真
  -n string 若string长度不为0,则为真
  string1 = string2 若两个字符串相等,则为真
  string1 != string2 若两个字符串不相等,则为真
  int1 -eq int2 若int1等于int2,则为真
  int1 -ne int2 若int1不等于int2,则为真
  int1 -lt int2 若int1小于int2,则为真
  int1 -le int2 若int1小于等于int2,则为真
  int1 -gt int2 若int1大于int2,则为真
  int1 -ge int2 若int1大于等于int2,则为真
  expr1 -a expr2 若expr1和expr2都为真则整式为真
  expr1 -o expr2 若expr1和expr2有一个为真则整式为真
  file1 -nt file2 若file1 比 file2 新,则为真
  file1 -ot file2 若file1 比 file2 旧,则为真

页: [1]
查看完整版本: shell中的算数比较