1.特殊变量列表
$0 当前脚本的文件名
$n 传递给脚本或者函数的参数,n是一个数字,标书第几个参数。比如第一个参数是$1,第二 个参数是$2
$# 传递给脚本或函数的参数个数
$* 传递给脚本或函数的所有参数
@
传
递
给
脚
本
或
函
数
的
所
有
参
数
。
被
双
引
号
(
"
"
)
包
含
时
,
与
@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与
@传递给脚本或函数的所有参数。被双引号("")包含时,与稍有不同
$? 上个命令的退出状态或函数的返回值
$$ 当前shell进程ID
注意:
∗
和
* 和
∗和@ 都可以表示传递给函数或脚本的所有参数,不被双引号(" “)包含时,都以”$1" “
2
"
"
2" "
2""n"的形式输出所有参数。但是当它们被双引号包含时,”$“将所有的参数作为一个整体,”$1
2...
2...
2...n".而"$@“输出”$1" "$2"分开。
2.expr是sh脚本中的计算命令
3.关系运算符
eq 两个数相等,返回true
ne 两个数不相等,返回true
gt 左边的数大于右边的数,返回true 相当于大于号
lt 左边的数小于右边的数,返回true 相当于小于号
ge 左边的数大于或等于右边的数,返回true
le 左边的数小于或等于右边的数,返回true
4.布尔运算符
!非运算,表达式为true,返回false 。否则返回true 非运算
-o 或运算,有一个表达式为true,就是true
-a 与运算,两个表达式都是true,才返回true
5.字符串运算符
=两个字符串是否相等
!= 两个字符串不相等,返回true
-z 字符串长度是否为0,为0则为true
-n 字符串长度是否为0,不为0返回true
str 检测字符串是否为空,不为空返回true
6.文件测试运算符
b–文件是块设备文件,true
c–文件是字符设备文件,true
d–文件是目录,true
f–普通文件,true
g–文件设置了SGID位,true
k–文件设置了粘着位,true
p–文件有管道,true
u–文件设置了SUID位,true
r–文件是否可读
w–文件可写
x–文件可以执行,true
s–文件不为空,true
e–文件存在,true
sh变量及其表达式
最新推荐文章于 2023-04-22 13:44:38 发布