shell中常用系统变量和条件判断

本文详细介绍了Shell脚本中常用的系统变量及其含义,并列举了条件判断的多种表达方式,包括字符串操作、整数操作、布尔操作及文件操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用系统变量
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID
$!  执行上一个子进程的PID
$?  执行上一个指令的返回值
条件判断:expression为字符串操作
-n str   字符串str是否不为空
-z str   字符串str是否为空
str1 =str2  str1是否与str2相同
str1!=str2  str1是否与str2不同
条件判断:expression为整数操作
expr1 -a expr2  如果 expr1 和 expr2 评估为真,则为真
expr1 -o expr2   如果 expr1 或 expr2 评估为真,则为真
条件判断:expression为bool操作
int1 -eq int2  如果int1等于int2,则为真
int1 -ge int2  如果int1大于或等于int2,则为真
int1 -gt int2  如果int1大于int2 ,则为真
int1 -le int2  如果int1小于或等于int2 ,则为真
int1 -lt int2  如果int1小于int2 ,则为真
int1 -ne int2  如果int1不等于int2 ,则为真
条件判断:expression为文件操作
-b  是否块文件   -p  文件是否为一个命名管道
-c  是否字符文件   -r  文件是否可读
-d  是否一个目录   -s  文件的长度是否不为零
-e  文件是否存在   -S  是否为套接字文件
-f  是否普通文件   -x  文件是否可执行,则为真
-g  是否设置了文件的 SGID 位 -u  是否设置了文件的 SUID 位
-G  文件是否存在且归该组所有 -w  文件是否可写,则为真
-k  文件是否设置了的粘贴位  -t fd fd 是否是一个与终端相连的打开的文件描述符(fd 默认为 1)
-O  文件是否存在且归该用户所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值