特殊字符对应的处理参数:
参数 |
说明 |
$0 |
当前执行的脚本文件名,若全路径执行,则显示脚本路径 |
$n |
当前执行脚本的第n个参数值,若n>9,则需写成${10} |
$# |
当前传参总个数 |
$$ |
脚本运行的当前进程ID号,用例:当一个进程重复启动时自动将前面的进程杀死,避免重复启动 |
$! |
后台运行的最后一个进程的ID号 |
$* |
以一个字符串显示所有向脚本传递的参数 |
$@ |
所有位置参数内容,将每个参数视为单个字符串传递 |
$? |
显示最后命令的退出状态,0表示正常,其他任何值表示有错误 |
常用文件测试操作符号:
符号 |
说明 |
-f 文件,--file |
文件存在且是普通文件则真 |
-d 文件,--directory |
文件存在且是目录文件则真 |
-s 文件,--size |
文件存在且大小不为0则真 |
-e 文件,--exist |
文件存在则真 |
-r 文件,--read |
文件存在且可读则真 |
-w 文件,--write |
文件存在且可写则真 |
-x 文件,--executable |
文件存在且可执行则真 |
-L 文件,--link |
文件存在且为链接文件则真 |
f1 -nt f2,--newer than |
文件f1比文件f2新则真,根据文件修改时间计算 |
f1 -ot f2,--older than |
文件f1比文件f2旧则真,根据文件修改时间计算 |
字符串测试操作符:
操作符 |
说明 |
-z "字符串",--zero |
若串长度为0则真 |
-n "字符串",--no zero |
若串长度不为0则真 |
"串1"="串2" |
若串1等于串2则真,可使用"=="代替"=" |
"串1"!="串2" |
若串1不等于串2则真,不能用"=="代替"=" |
注: 1.以上表格中的字符串测试操作符号务必要用""引起来; 2.比较符号两端有空格。 eg:[ -n "$myvar"] |
整数二元比较操作符:
[]及test中使用的比较符 |
(())及[[]]中使用的比较符 |
说明 |
-eq |
==或= |
equal,相等 |
-ne |
!= |
not equal,不相等 |
-gt |
> |
greater than,大于 |
-ge |
>= |
greater equal,大于等于 |
-lt |
< |
less than,小于 |
-le |
<= |
less equal,小于等于 |
逻辑连接符:
[]及test中使用的逻辑操作符 |
[[]]中使用的逻辑操作符 |
说明 |
-a |
&& |
and与,两端都为真,则真 |
-o |
|| |
or或,两端有一个为真则真 |
! |
! |
not非,相反则为真 |
访问数组元素:
${array[0]} |
访问数组中第一个元素 |
${array[@]} |
访问数组所有元素;等同于${array[*]} |
${#array[@]} |
统计数组元素的个数 |
${!array[@]} |
获取数组元素的索引 |
${array[@]:1} |
从数组下标1开始 |
${array[@]:1:2} |
从数组下标1开始,访问两个元素 |
lengthn=${#array[n]} |
获取数组单个元素长度 |
-------------------------------------------------------------
转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!
------------------------------------------------------------------------------
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
------------------------------------------------------------------------------