初识Shell script

举报
烟花易冷 发表于 2018/04/15 16:42:05 2018/04/15
【摘要】 在学习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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。