页首自改代码

Hey, Nice to meet You.  why ?

☆☆☆所谓豪杰之士,必有过人之节.人情有所不能忍者,匹夫见辱,拔剑而起,挺身而斗,此不足为勇也,天下有大勇者,猝然临之而不惊,无故加之而不怒.此其所挟持者甚大,而其志甚远也.          
返回顶部

位置参数及操作符号

特殊字符对应的处理参数:

参数

说明

$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]}

获取数组单个元素长度

posted on 2017-12-15 10:32  罗穆瑞  阅读(295)  评论(0编辑  收藏  举报

导航