-
test命令- test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。在shell中,如果命令返回0,则表示成功;任何非0的返回值,都表示失败;同时shell提供了特殊参赛$?来获取上个命令的返回值。
- 文件类型判断
-e 文件名 如果文件存在则为真 -r 文件名 如果文件存在且可读则为真 -w 文件名 如果文件存在且可写则为真 -x 文件名 如果文件存在且可执行则为真 -s 文件名 如果文件存在且至少有一个字符则为真 -d 文件名 如果文件存在且为目录则为真 -f 文件名 如果文件存在且为普通文件则为真 -c 文件名 如果文件存在且为字符型特殊文件则为真 -b 文件名 如果文件存在且为块特殊文件则为真 - 文件权限判断
-r 文件名 如果具有“可读”权限则为真 -w 文件名 如果具有“可写”权限则为真 -x 文件名 如果具有“可执行”权限则为真 -u 文件名 如果具有“SUID”属性则为真 -g 文件名 如果具有“SGID”属性则为真 -k 文件名 如果具有“Sticky bit”属性则为真 -s 文件名 如果文件存在且为“非空文件”则为真 - 文件比较判断
FILE1 -ef FILE2 两个文件指向同一个inode,既是硬链接,则为真 FILE1 -nt FILE2 FILE1比FILE2更新,既FILE1修改时间晚于FILE2,则为真 FILE1 -ot FILE2 FILE1比FILE2更旧,既FILE1修改时间早于FILE2,则为真 - 整数判断
-eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 - 字符串判断
= 等于则为真 != 不相等则为真 -z 字符串 字符串的长度为零则为真 -n 字符串 字符串的长度不为零则为真 - 多条件判断
条件1 -a 条件2 如果两个条件都成立则为真 条件1 -o 条件2 任何一个条件成立则为真 ! 条件1 条件1的反向状态
-
[]判断符号 中括号两端必须有空格分割,变量用单引号或双引号括起来。在bash中“==”和“=”作用是一样的#!/bin/bash a=5 b=6 result=$[a+b] # 注意等号两边不能有空格 echo "result 为: $result" - 默认变量
-
$#一共有几个参数 -
$@所有参数的值 -
$*所有参数的值 -
$n第n个参数是什么 -
shift造成参数号码的偏移 -
bash ./sh05.sh one two three four five six
#!/bin/bash echo "Total parameter number is ==> $#" echo "Your whole parameter is ==> '$@'" shift #1个变量的shift echo "1个变量移位" echo "Total parameter number is ==> $#" echo "Your whole parameter is ==> '$@'" shift 3 #3个变量的shift echo "3个变量移位" echo "Total parameter number is ==> $#" echo "Your whole parameter is ==> '$@'" ** 输出结果 ** Total parameter number is ==> 6 Your whole parameter is ==> 'one two three four five six' 1个变量移位 Total parameter number is ==> 5 Your whole parameter is ==> 'two three four five six' 3个变量移位 Total parameter number is ==> 2 Your whole parameter is ==> 'five six' -












网友评论