dirname $0
$n。n 代表一个数字,
1 为执行脚本的第一个参数,
2 为执行脚本的第二个参数,以此类推……
$0 为执行的文件名(包含文件路径)
dirname命令去除文件名中的非目录部分,删除最后一个“\”后面的路径,显示父目录
basename命令用于打印目录或者文件的基本名称,显示最后的目录名或文件名
$# 传递到脚本的参数个数
$* 以一个单字符串显示所有向脚本传递的参数。
如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
关系运算符
-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回 false。
-ne 检测两个数是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true。
-gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false。
-lt 检测左边的数是否小于右边的,如果是,则返回 true。 [ $a -lt $b ] 返回 true。
-ge 检测左边的数是否大于等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false。
-le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true。
布尔运算符
! 非运算,表达式为 true 则返回 false,否则返回 true。 [ ! false ] 返回 true。
-o 或运算,有一个表达式为 true 则返回 true。 [ $a -lt 20 -o $b -gt 100 ] 返回 true。
-a 与运算,两个表达式都为 true 才返回 true。 [ $a -lt 20 -a $b -gt 100 ] 返回 false。
字符串运算符
-z 检测字符串长度是否为0,为0返回 true。 [ -z a ] 返 回 f a l s e 。 − n 检 测 字 符 串 长 度 是 否 不 为 0 , 不 为 0 返 回 t r u e 。 [ − n " a ] 返回 false。 -n 检测字符串长度是否不为 0,不为 0 返回 true。 [ -n " a]返回false。−n检测字符串长度是否不为0,不为0返回true。[−n"a" ] 返回 true。
输入/输出重定向
command > file 将输出重定向到 file。
command < file 将输入重定向到 file。
command >> file 将输出以追加的方式重定向到 file。
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null: