- 终端输入两个数,判断两数是否相等,如果不相等,判断大小关系
#!/bin/bash 2 a=$1 3 b=$2 4 if [ "$a" -eq "$b" ] 5 then 6 echo a=b 7 else 8 echo "两数不相等" 9 if [ "$a" -lt "$b" ] 10 then 11 echo "a<b" 12 elif test $a -gt $b 13 then 14 echo "a>b" 15 fi 16 fi
2.已知网址www.hqyj.com,使用expr截取出www、hqyj、com,不能使用cut,不能出现数字
#!/bin/bash
2 net='www.hqyj.com'
3 len=`expr length $net`
4 pos1=`expr index $net .`
5 a=`expr substr $net 1 $((pos1-1))`
6
7 str2=`expr substr $net $((pos1+1)) $len`
8 pos2=`expr index $str2 .`
9 b=`expr substr $str2 1 $((pos2-1))`
10 c=`expr substr $str2 $((pos2+1)) $len`
11 echo $a $b $c
test命令的基本语法是:
test expression或者[ expression ]expression是一个条件表达式,可以使用各种比较运算符、逻辑运算符和文件测试运算符。常用的比较运算符有:-eq(等于)、-ne(不等于)、-lt(小于)、-gt(大于)、-le(小于等于)、-ge(大于等于);逻辑运算符有:-a(与)、-o(或)、!(非);文件测试运算符有:-d(是否为目录)、-f(是否为普通文件)、-r(是否可读)、-w(是否可写)、-x(是否可执行)等。下面是一些使用示例:
判断两个值是否相等:test $a -eq $b或者[ $a -eq $b ]判断文件是否存在并可读:test -r file或者[ -r file ]判断两个值是否不相等:test $a -ne $b或者[ $a -ne $b ]判断文件是否存在并可写:test -w file或者[ -w file ]判断一个值是否小于另一个值:test $a -lt $b或者[ $a -lt $b ]判断文件是否存在并可执行:test -x file或者
[ -x file ]除了以上的基本用法,test命令还可以通过逻辑运算符和括号组合使用来判断多个条件。例如:
[ $a -gt 10 -a $b -le 20 ]判断$a大于10并且$b小于等于20。另外,test命令还可以通过使用字符串比较运算符来判断字符串的相等性和大小关系。比如:[ $str1 = $str2 ]判断$str1和$str2是否相等。test命令的返回值为0表示条件成立,返回值为1表示条件不成立。