加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell语法——参数变量,测试与比较

发布时间:2020-12-15 23:24:04 所属栏目:安全 来源:网络整理
导读:特殊变量 变量 说明 $0 获取当前执行的 Shell 脚本的文件名,如果执行脚本包含了路径,则包含脚本路径 $n 获取当前执行的 Shell 脚本的第 n 个参数值,即 n=1..9,n 为 0 时,同上 $# 获取当前执行的 Shell 脚本后面接的参数的总个数 $* 获取当前 Shell 脚本
特殊变量
变量 说明
$0 获取当前执行的 Shell 脚本的文件名,如果执行脚本包含了路径,则包含脚本路径
$n 获取当前执行的 Shell 脚本的第 n 个参数值,即 n=1..9,n 为 0 时,同上
$# 获取当前执行的 Shell 脚本后面接的参数的总个数
$* 获取当前 Shell 脚本所有传参的参数,加上双引号,"$*" 表示将所有的参数视为单个字符串,相当于 "$1 $2 $3"
[email?protected] 获取当前 Shell 脚本所有传参的参数,不加双引号和 $* 相同。加上双引号,"[email?protected]" 表示将所有的参数视为不同的独立字符串,相当于 "$1" "$2" "$3"
$? 获取上一个指令的执行状态的返回值(0 为成功,非 0 则失败)
文件测试表达式
常用文件测试操作符 说明
-d 文件 文件存在且为目录则为真,即测试表达式成立
-f 文件 文件存在且为普通文件则为真,即测试表达式成立
-e 文件 文件存在则则为真,即测试表达式成立。不区分文件或目录
-r 文件 文件存在且可读则为真,即测试表达式成立
-s 文件 文件存在且大小不为 0 则为真,即测试表达式成立
-w 文件 文件存在且可写则为真,即测试表达式成立
-x 文件 文件存在且可执行则为真,即测试表达式成立
-L 文件 文件存在且为链接则为真,即测试表达式成立
f1 -nt f2 文件 f1 比文件 f2 新则为真,即测试表达式成立。根据文件的修改时间来计算
f1 -ot f2 文件 f1 比文件 f2 旧则为真,即测试表达式成立。根据文件的修改时间来计算
字符串测试表达式
常用字符串测试操作符 说明
-n "字符串" 若字符串的长度不为 0 ,则为真,即测试表达式成立,n 可以理解为 no zero
-z "字符串" 若字符串的长度为 0 ,则为真,即测试表达式成立,z 可以理解为 no zero
"串1" = "串2" 若字符串 1 等于字符串 2,则为真,即测试表达式成立,可使用 "=="代替 "="
"串1" != "串2" 若字符串 1 不等于字符串 2,则为真,即测试表达式成立,但不能使用 "!=="代替 "!="
整数二元比较操作符
在 [] 以及 test 中使用的比较符号 在 (()) 和 [[]] 中使用的比较符号 说明
-eq == 或 = 相等
-ne != 不相等
-gt > 大于
-ge >= 大于相等
-lt < 小于
-le <= 小于相等
逻辑操作符
在 [] 以及 test 中使用的比较符号 在 (()) 和 [[]] 中使用的比较符号 说明
-a && and,与,两端都为真,则结果为真
-o 双竖线 or,或,两端有一个为真,则结果为真
! ! not,非,两端相反,则结果为真

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读