博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位置参数及操作符号
阅读量:6717 次
发布时间:2019-06-25

本文共 1528 字,大约阅读时间需要 5 分钟。

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

参数

说明

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

获取数组单个元素长度

-------------------------------------------------------------

作者:
出处:

转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!

------------------------------------------------------------------------------

如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

------------------------------------------------------------------------------

你可能感兴趣的文章
温度传感器,ds18b20
查看>>
ecshop为什么删不掉商品分类
查看>>
bzoj1941[Sdoi2010]Hide and Seek
查看>>
IT兄弟连 Java Web教程 经典面试题2
查看>>
利用setTimeoutc处理javascript ajax请求超时
查看>>
三、Java基础工具(1)_常用类——字符串
查看>>
文献管理与信息分析》第二讲作业
查看>>
java 遍历arrayList的四种方法
查看>>
根据不同的产品id获得不同的下拉选项 (option传多值)
查看>>
css3新增属性:多列(column)
查看>>
redis 主从配置和集群配置
查看>>
手机3D游戏开发:自定义Joystick的相关设置和脚本源码
查看>>
window.frames["detailFrm"].isSubmitting = true;//?起什么作用
查看>>
ASCII表
查看>>
idea之debug
查看>>
什么是真正的流程管理?流程管理的是与不是。
查看>>
洛谷P1613 跑路
查看>>
python各种模块,迭代器,生成器
查看>>
微信小程序 watch监听数据变化 类似vue中的watch
查看>>
服务器端推送技术
查看>>