Shell脚本相关命

1、编写简单的hello world脚本,查看脚本内容,并运行

3ce46513f8b942e68ac10b85703549c4.png

2、练习加减乘除、比较等基本的算术运算。

算术运算:采用“$(( exp ))”的形式,内层的小括号中是算术表达式,“$(( ))”只支持整数的算术运算,表达式中的变量可以不使用“$”前导符号;

990b9e9f23f740adb90c016162ef3a75.png

算术运算:采用“$(( exp ))”进行整数间的算术比较运算,运算符包括“<” “>” “<=” “>=” “==” “!=”,如果比较结果为真,表达式返回1,否则返回0。

273f95f059994438901636db79151405.png

3、使用test命令对两个数值比较(等于、小于、大于等于),注释说明含义。

test条件测试-关系运算

关系运算符表达式 →含义

 n1 -eq n2 →当n1和n2相等时返回真,否则返回假

 n1 -ne n2 →当n1和n2不相等时返回真,否则返回假

 n1 -gt n2 →当n1大于n2时返回真,否则返回假

 n1 -t n2 →当n1小于n2时返回真,否则返回假

 n1 -ge n2 →当n1大于等于n2时返回真,否则返回假

 n1 -le n2 →当n1小干等工n2时返回真,否则返回假

815a0081dac84bd98d0ece59f7a75d62.png

4、使用test命令对两个字符串比较(等于、非空、小于),注释说明含义。

test条件测试-字符串运算

字符串运算符表达式 →含义

 -z str →当str为空字符串时返回真,否则返回假

 -n str →当str为非空字符串时返回真,否则返回假。 -n可省略。

 str1==str2 →当str1与str2相等时返回真,否则返回假

 str1!= str2 →当str1与str2不相等时返回真,否则返回假

e0152e2fdf9b46a6b8cd82a27671d85b.png

5、使用test命令进行布尔运算,注释说明含义。

test条件测试-布尔运算

布尔运算符表达式 →含义

 expr1 -a expr2 →当表达式expr1和expr2同时为真时复合表达式返回真,否则返回假

 expr1 -o expr2 →当表达式expr1和expr2任意一个表达式为真时复合表达式返回真,否则返回假

 !expr →当表达式expr为真时返回假,否则返回真

00cf75df7e17402d855b2fb40168363b.png

6、使用[] 对文件类型、文件权限、文件比较等进行练习。注释说明含义。

test 命令也可以简写为[],它的用法为:[ expression ] #注意[]和expression之间的空格,这两个空格是必须的,否则会导致语法错误;表达式的格式有特别的规定:操作数、运算符及中括号要用空格分隔。

fe13ef7f9df44b69bb30465e726d587d.png

7、使用if-elif结构完成功能。需查看脚本内容,并运行。

51db95ca44854ec4ae1999753dd71b0b.png

8、结合case-in和函数,完成简易计算器。(选择运算符,再输入数)。

d4faa9071d5842f991bd02fdd5fb1aa6.png

脚本三种运行方式的区别。

(1)bash script-name 或 sh script-name

这是当脚本文件本身没有可执行权限(即文件权限属性x位为-号)时常使用的方法(不管脚本有无可执行权限都可以通过这种方式运行),或者脚本文件开头没有指定解释器时需要使用的方法(这种脚本运行方式的bash或sh意思就是给脚本指定了命令解释程序,而脚本中第一行的#!/bin/bash或#!/bin/sh与此作用相同)。推荐使用这种方法。

(2)path/script-name 或 ./script-name

执行条件有二个:脚本文件被赋予了执行权限;脚本文件第一行指定了命令解释程序(一般为#!/bin/bash)

注:在生产环境中,运维人员由于忘记为该脚本设置可执行权限,然后直接使用,导致出错。因此,推荐bashscript-name。

(3)source script-name 或 . script-name

source或者 “.” 命令的功能是:读入脚本并执行脚本,即在当前Shell中执行source或 “.” 加载并执行的相关脚本文件的命令及语句,而不是产生一个子Shell来执行文件中的命令。

注:这是和其他集中执行shell方式的最大不同。

对函数传递参数大于、等于、小于所需参数的三种情形分别试验。

29253684ae7c4328a592721661d8b97e.png

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值