1. if [ -f file ] 如果文件存在
    2. if [ -d ... ] 如果目录存在
    3. if [ -s file ] 如果文件存在且非空
    4. if [ -r file ] 如果文件存在且可读
    5. if [ -w file ] 如果文件存在且可写
    6. if [ -x file ] 如果文件存在且可执行
    1. if [ int1 -eq int2 ] 如果int1等于int2
    2. if [ int1 -ne int2 ] 如果不等于
    3. if [ int1 -ge int2 ] 如果>=
    4. if [ int1 -gt int2 ] 如果>
    5. if [ int1 -le int2 ] 如果<=
    6. if [ int1 -lt int2 ] 如果<

    传递参数

    1. ./shell.sh 1 2 3
    2. echo "$0 $1 $2"
    1. $# 传递到脚本的参数个数
    2. $* 以一个单字符串显示所有向脚本传递的参数。
    3. "$*"用「"」括起来的情况、以"$1 $2 $n"的形式输出所有参数。
    4. $$ 脚本运行的当前进程ID号
    5. $! 后台运行的最后一个进程的ID号
    6. $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。
    7. 如"$@"用「"」括起来的情况、以"$1" "$2" "$n" 的形式输出所有参数。
    8. $- 显示Shell使用的当前选项,与set命令功能相同。
    9. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
    • 和 @的区别:*是”1 2 3”,@是”1””2””3”,都是打印所有参数
    1. 数组:${数组名[@或*]} 数组长度 {#数组名[@或*]}
    2. for((i=0;i<${#list[*]};i++))或
    3. for i in ${list[*]};