shell 的脚本

**1:什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
1
二:Shell脚本的规则
Shell 和python都是弱语言
1:变量的规则
定义变量规则:变量名=值
shell定义变量的规则:
1:等号两边不能有空格
2:定义特殊的变量需要用单引号或者双引号结合
3:定义linux命令需要用反单引号
区分单引号和双引号的不同和相同点
2:脚本的命名格式
脚本名称使用.sh结尾
3:脚本的起始行格式
第一行必须写# !/bin/bash
4:脚本输入输出格式
1:输入语句用:read
2:Shell输出值:echo 变 量 名 5 : 脚 本 的 调 用 方 式 1 : . / 脚 本 名 . s h ( 权 限 的 问 题 ) 方 式 2 : s h 脚 本 名 . s h 注 意 点 : r e a d 可 以 传 递 多 个 数 据 , 超 过 的 部 分 都 填 充 在 最 后 一 个 变 量 上 7 : 比 较 运 算 符 和 逻 辑 运 算 符 ( 1 ) 比 较 运 算 符 ( 数 字 ) − e q 比 较 是 否 相 等 − n e 比 较 不 相 等 − g t 比 较 大 于 − g e 比 较 大 于 等 于 − l t 比 较 小 于 − l e 比 较 小 于 等 于 ( 2 ) 比 较 运 算 符 ( 字 符 串 ) = = 比 较 是 否 相 等 ! = 比 较 不 相 等 加 一 操 作 : ( ( i + + ) ) ( ( i + = 1 ) ) 加 n 操 作 : s = ( ( ( ( ( ( s + i ) ) s = i ) ) s = i ) ) s = [ s + s + s + i ] ( ( s = s + s + s + i ) ) ( 3 ) 逻 辑 运 算 符 − a 逻 辑 与 − o 逻 辑 或 ! 逻 辑 非 8 : i f 语 句 格 式 : i f [ 条 件 ] t h e n 语 句 e l s e 语 句 f i 注 意 点 : 1 : i f 后 面 有 空 格 , 2 : 条 件 两 边 有 空 格 , 3 : i f 条 件 里 面 存 在 变 量 , 需 要 变量名 5: 脚本的调用 方式1:./脚本名.sh(权限的问题) 方式2: sh 脚本名.sh 注意点:read可以传递多个数据,超过的部分都填充在最后一个变量上 7:比较运算符和逻辑运算符 (1)比较运算符(数字) -eq 比较是否相等 -ne 比较不相等 -gt 比较大于 -ge 比较大于等于 -lt 比较小于 -le 比较小于等于 (2)比较运算符(字符串) == 比较是否相等 != 比较不相等 加一操作:((i++)) ((i+=1)) 加n操作: s=( ( ((((s+i ) ) s = i)) s=i))s=[s + s+s+i] ((s=s + s+s+i)) (3)逻辑运算符 -a 逻辑与 -o逻辑或 !逻辑非 8:if语句 格式: if [ 条件 ] then 语句 else 语句 fi 注意点: 1: if后面有空格, 2:条件两边有空格, 3:if条件里面存在变量,需要 5:1./.sh()2sh.sh:read71eqnegtgeltle2==!=:((i++))((i+=1))n:s=((((((s+i))s=i))s=i))s=[s+s+s+i]((s=s+s+s+i))3ao!8ifif[]thenelsefi:1:if,2,3if,而且变量两边需要双引号, 4:fi是结束标识
练习:判断用户输入的用户名(name)和密码(password)是否为admin 和 123456,如果是则提示登录成功(success),否则提示失败(fail)
在这里插入图片描述
if [ 条件 ]
then
语句
elif [ 条件 ]
then
语句

else
语句
fi
练习:输入学生的成绩,80<score<=100提示very good,60<score<=80提示good,其他则提示不及格
在这里插入图片描述
在这里插入图片描述
9:case规则
格式:
case 变 量 名 i n “ 值 ” ) 语 句 ; ; “ 值 ” ) 语 句 ; ; … e s a c 注 意 : 1 : c a s e 这 第 一 行 以 i n 结 尾 2 : 值 可 以 是 字 符 串 也 可 以 是 数 字 , 如 果 数 字 范 围 [ 0 − 9 ] 3 : 结 束 语 句 ; ; 4 : e s a c 结 束 标 志 练 习 : 输 入 一 个 序 号 , 判 断 该 用 户 选 择 哪 款 产 品 , A : 笔 记 本 B : 手 机 C : 小 台 灯 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 练 习 : 请 输 入 对 客 服 的 满 意 度 , 【 0 − 3 】 不 满 意 , 【 4 − 6 】 满 意 , 【 7 − 9 】 非 常 满 意 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 10 : F o r 循 环 格 式 : f o r 变 量 i n 列 表 d o 语 句 d o n e ∗ ∗ 加 粗 样 式 ∗ ∗ 注 意 1 : 结 束 标 志 d o n e 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 11 : W h i l e 循 环 w h i l e [ 条 件 ] d o 语 句 d o n e 注 意 : 1 : w h i l e 后 面 有 空 格 , 2 : 条 件 两 边 有 空 格 , 3 : w h i l e 条 件 里 面 存 在 变 量 , 需 要 变量名 in “值”) 语句;; “值”) 语句;; … esac 注意:1:case这第一行以in结尾 2:值可以是字符串也可以是数字, 如果数字范围[0-9] 3:结束语句;; 4:esac结束标志 练习:输入一个序号,判断该用户选择哪款产品,A:笔记本 B:手机 C:小台灯 在这里插入图片描述 在这里插入图片描述 练习:请输入对客服的满意度,【0-3】不满意,【4-6】满意,【7-9】非常满意 在这里插入图片描述 在这里插入图片描述 10:For循环 格式: for 变量 in 列表 do 语句 done **加粗样式** 注意1: 结束标志done 在这里插入图片描述 在这里插入图片描述 11:While循环 while [ 条件 ] do 语句 done 注意: 1: while后面有空格, 2:条件两边有空格, 3:while条件里面存在变量,需要 in);;);;esac:1:casein2[09]3;;4:esacABC03467910For:forindodone1:done11Whilewhile[]dodone:1:while,2,3while,而且变量两边需要双引号, 4:done是结束标识
练习:求1-100之间的和
在这里插入图片描述
在这里插入图片描述
三:Shell脚本的函数
1:定义格式
函数名(){代码 }
调用格式
函数名
注意点:必须先定义一个函数,然后再调用它
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
2:函数中的参数
使用 n 来 接 收 数 据 练 习 : 输 入 1 , 100 两 个 整 数 进 行 求 和 运 算 , 并 打 印 结 果 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 练 习 : 输 入 任 意 两 个 整 数 进 行 求 和 运 算 , 并 打 印 结 果 在 这 里 插 入 图 片 描 述 在 这 里 插 入 图 片 描 述 3 : 函 数 中 的 返 回 值 S h e l l 中 函 数 中 默 认 存 在 返 回 值 查 看 函 数 的 返 回 值 n来接收数据 练习:输入1,100两个整数进行求和运算,并打印结果 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 练习:输入任意两个整数进行求和运算,并打印结果 在这里插入图片描述 在这里插入图片描述 3:函数中的返回值 Shell中函数中默认存在返回值 查看函数的返回值 n11003Shell
在这里插入图片描述
在这里插入图片描述**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值