初识Shell script
【摘要】 在学习Linux系统时,我们经常会听到或用到shell,而shell简单点说就是一个能够操作应用程序的接口(或者说就是指命令行方面的软件)。Shell在日常工作中,多数充当脚本角色,帮助系统管理员处理一些或简单或繁杂的工作,从而简化工作流程。今天,我们在这里简单介绍一下shell脚本常用的一些方法:利用test命令进行测试测试的标识含义关于某个文件名的“文件类型“的判断,如test -e f...
在学习Linux系统时,我们经常会听到或用到shell,而shell简单点说就是一个能够操作应用程序的接口(或者说就是指命令行方面的软件)。Shell在日常工作中,多数充当脚本角色,帮助系统管理员处理一些或简单或繁杂的工作,从而简化工作流程。今天,我们在这里简单介绍一下shell脚本常用的一些方法:
利用test命令进行测试
| 测试的标识 | 含义 |
关于某个文件名的“文件类型“的判断,如test -e filename
| -e | 该文件是否存在 |
| -f | 该文件是否存在且为文件(file) |
| -d | 该文件是否存在且为目录(directory) |
| -b | 该文件是否存在且为block设备 |
| -c | 该文件是否存在且为character设备 |
| -S | 该文件是否存在且为socker文件 |
| -p | 该文件是否存在且为FIFO(pipe)文件 |
| -l | 该文件是否存在且为链接文件 |
| 关于文件权限检测,如 test -r filename表示文件是否可读 | |
| -r | 检测该文件是否存在切具有“可读”权限 |
| -w | 检测该文件是否存在切具有“可写”权限 |
| -x | 检测该文件是否存在切具有“可执行”权限 |
| -u | 检测该文件是否存在切具有“SUID”属性 |
| -g | 检测该文件是否存在切具有“SGID”属性 |
| -k | 检测该文件是否存在切具有“Sticky bit”属性 |
| -s | 检测该文件是否存在且为“非空白文件” |
| 两个整数之间的比较 | |
| -eq | 两数值相等 |
| -ne | 两数值不等 |
| -gt | n1 > n2 |
| -lt | n1 < n2 |
| -ge | n1 ≥ n2 |
| -le | n1 ≤ n2 |
| 判断字符串数据 | |
| test -z string | 判定字符串是否为0,若为空,则返回true |
| test -n string | 判定字符串是否为0,若为空,则返回false |
| test str1 = str2 | 若 str1 = str2,则返回true |
| test str1 != str2 | 若 str1 != str2,则返回true,反之为false |
默认变量
| $0: 表示文件名 |
| $?: 上一条命令的返回值 |
| $#: 参数的个数 |
| $@: 表示"$1"、"$2"、"$3",每个变量都是独立的,多用双引号引起来 |
| $*:表示“$1c$2c$3”,其中c 为分隔符,默认为空格,等价于 “$1 $2 $3” |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)