shell编程学习

1.1.shell中调用linux命令 
(1)脚本编程其实就是把以前在命令行下输入的命令挪到脚本程序中去然后一次执行。 
(2)直接在shell源代码中键入linux命令。练习:在当前目录下创建文件夹dir,在dir下创建a.txt。 
(3)通过反引号将linux命令括起来。适用于我们的目的得到该命令的返回值即执行结果,可使用一对反引号来调用执行命令。反引号与~在同一个按键上。

1.2.shell中的变量定义和引用 
(1)变量定义。shell是弱类型语言,即语言中的变量没有明确的类型。在shell编程中定义变量不需要制定类型,也没有类型这个概念。 
(2)变量初始化。变量定义时可以初始化,使用=进行初始化赋值,在shell中赋值的=两边不能有空格。注意shell对语言风格要求非常严格,很多地方空格都是必须有或者必须没有,而且不能随意没有空格。 
(3)变量赋值。变量定义后可以再次赋值,新的赋值会覆盖老的赋值。shell中并不刻意区分变量的定义和赋值,反正每个变量就是一个符号,这个符号的值就是最后一个给它赋值时的值。 
(4)变量引用。shell中引用一个变量必须使用dollar符号,dollar符号就是变量解引用符。注意dollar符号后面跟一个字符串,该字符串会被当做变量去解析。如果这个字符串本身没有定义,执行时并不会报错,而是会把这个变量解析为空。即shell中没有被定义的变量相当于被定义并被赋值成空的变量。注意变量引用的时候可以dollar var,也可以dollar{var}。这两种的区别是在某些情况下只能用dollar{var}而不能简单的dollar var。

1.3.shell中无引号、单引号和双引号的区别 
(1)无引号。shell中可以不加双引号或单引号直接使用字符串,并且字符串之间有空格也可以,但缺陷是不能输出”和’和其他转义字符。 
(2)单引号。完全字面替换,不可包含单引号本身。 
(3)双引号。dollar加变量名可以取变量的值;反引号仍表示命令替换;\dollar表示dollar的字面值,反斜杠 反引号表示`的字面值,\”表示”的字面值,反斜杠\表示\的字面值,除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。

1.4.shell中的选择分支结构 
(1)shell中的if语句用法很多,我们只需掌握常用的if语句用法即可。 
(2)if的典型应用 
判断文件是否存在:(-f),注意[]里面前后都有空格,不能省略;判断目录是否存在:(-d); 
判断字符串是否相等:”str1” = “str2”),注意用一个等号而不是两个; 
判断数字是否相等:(-eq)、大于(-gt)、小于(-lt)、大于等于(-ge)、小于等于(-le)在这里eq就是equal,gt就是greater than,lt就是less than,ge就是greater or equal,le就是less or equal; 
判断字符串是否为空:(-z)注意-z判断时如果变量本身没定义也是不成立,即-z认为变量没定义不等于为空。 
(3)if判断式中使用”-o”表示逻辑或。 
(4)逻辑与&&和逻辑或||与简写的if表达式相结合。

1.5.shell中的循环结构 
(1)for循环。要求能看懂、能改即可,不要求能够完全不参考写出来,因为嵌入式开发并不需要完全重新手写shell。只有服务器运维人员,应用层系统级管理开发的才需要完全掌握shell。 
(2)while循环。要注意很多格式要求,譬如while后面的[]两边都有空格,如果do放在一行的话[]后面有分号,i++的写法中有两层括号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值