shell语法
shell是什么?
一门编程语言
用来解释执行这门编程语言语法的解释器
计算机体系结构:
命令
shell解释器
系统调用的接口
内核
计算机硬件
什么是编程语言?
人-------------编程语言--------------计算机
什么是编程?
人-------------编程语言--------------计算机
先干什么
再干什么
然后干什么
什么是程序?
我们把让计算机做事的步骤用编程语言翻译下来,然后存放到文件中,该文件就是程序
运行shell脚本
权限:当前用户需要对脚本文件有r和x权限
一个shell脚本运行的三个步骤:bash a.sh
1、先启动bash解释器
2、bash解释器会把a.sh的内容从硬盘读入内存
3、bash解释器会识别刚刚读入内存内容、解释执行shell代码
运行shell脚本的两种方式
方式1:
bash 脚本的文件路径
方式2:
脚本的文件绝对路径
./相对路径
做事的步骤
接收用户输入的用户名
接收用户输入的密码
判断 输入的用户名 等于 正确的用户名 并且 输入的密码 等于 正确的密码:
告诉用户认证成功
否则
告诉用户输入的账号或密码错误
shell语法:
一 变量
什么是变量?
变:事物的状态是可以变化的
量:记录下事物的状态
为何要有变量?
为了让计算机能够像人一样记下事物的状态,并且是可以改变
如何用变量?
使用原则:先定义后使用引用
定义变量:
height=190
age=18
name=egon
访问变量:
echo $height
echo ${height}
修改
height=200
变量的三大组成部分
变量名:相当于门牌号,是用来访问到变量值的
赋值符号:把变量值的地址绑定给变量名
变量值:记录的事物状态,即存放到内存中的数据
变量名的命名:
前提:在见名知意的前提下,尽可能地精简
规则:
1、由字母数字下划线组成
height_of_egon=190
2、不能以数字开头
3、不能使用关键字
4、不要使用中文
变量值:
整型:年龄、等级、号码
age=18
浮点型:薪资、身高、体重
salary=3.3
字符串:描述性质的状态,名字、性别、爱好、国籍
msg="hello world"
msg='hello world' # 硬引用
[root@web01 ~]# count=3
[root@web01 ~]# per=0.33
[root@web01 ~]# ip="10.10.0.11"
二 变量的作用域
变量的作用域就是变量的生效范围
全局作用域:在当前shell进程里有效
export 声明一个环境变量
流程控制
if判断
echo "111"
echo "222"
if 条件1;then
代码1
代码2
代码3
elif 条件2;then
代码1
代码2
代码3
elif 条件3;then
代码1
代码2
代码3
...
else
代码1
代码2
代码3
fi
echo "333"
单分支
if 条件1;then
代码1
代码2
代码3
fi
双分支
if 条件1;then
代码1
代码2
代码3
else
代码1
代码2
代码3
fi
多分支
。。。
输入自己的成绩
>=90分 : 优秀
>=80 <90:良好
>=70 <80: 一般
其他:很差
循环
while
or