初识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)