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

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-11-12 20:47  每天写博客  阅读(135)  评论(0编辑  收藏  举报