Linux学习--04

        这篇文章将继续讲解shell,讲解shell脚本。

        shell脚本语言与C语言不同是解释性语言,所以我们需要一个解释器,常见的有sh,bash等。shell脚本的本质是shell命令的有序集合。shell脚本的执行一般分为三步:建立shell文件,赋予shell文件执行权限,命令行直接执行shell脚本(也可以不赋予执行权限,显示使用解释器执行)。

        shell中允许用户建立变量存储数据,但不支持数据类型,将任何赋给变量的值都视为字符串。Bourne shell中有四种变量,分别是:用户自定义变量,位置变量,预定义变量,环境变量。变量调用时需要在变量名前加上$。

        位置变量即命令行参数,$0-$9分别表示0-9号参数,包含文件名。$#为命令行参数的个数,不包含文件名。$@为所有命令行参数,不包含文件名。$*同$@。

        shell程序有0到多个shell语句组成,shell语句一般有说明性语句,功能性语句和结构性语句。

        说明性语句以#开始到该行结束,不被解释执行。

        功能性语句为任意的shell命令,用户程序或其他shell命令。

        结构性语句包括条件测试语句、多路分支语句、循环语句等。

        条件测试一般依赖test,test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。对于数值测试一般有-eq(等于)、-ne(不等于)、-gt(大于)、-ge(大于等于)、-lt(小于)、-le(小于等于)。对字符串的测试一般有=(等于)、!=(不等于)、-z(长度为0)、-n(长度不为0)。对文件的检查有-e(文件存在)、-r(存在且可读)、-w(存在且可写)、-x(存在且可执行)、-s(文件中至少有一个字符)、-d(目录文件)、-f(普通文件)、-c(字符设备文件)、-b(块设备文件)。

        条件测试语句为if...then...else...fi,多路分支语句case...in...esac,循环语句for...in...do...done、while...do...done。上述语句的运行类似于C语言,此外还有break和continue在后面不接参数时用法和C语言一样,后面接参数表示跳出参数值层的循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值