欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

linux100day(day5)--编程原理和shell脚本

程序员文章站 2022-05-29 10:34:37
通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能。 day05--编程原理和shell脚本初步认识 编程原理 在早期编程中,因为要使不同厂家的硬件设备之间进行指令沟通,常常使用汇编语言来编写程序。而现在编程基于高级语言和超高级语 ......

通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能。

day05--编程原理和shell脚本初步认识

编程原理

  在早期编程中,因为要使不同厂家的硬件设备之间进行指令沟通,常常使用汇编语言来编写程序。而现在编程基于高级语言和超高级语言,翻译成计算机可读的二进制指令,增强程序可读性,使程序员更好的实现编程功能

  编程语言分为解释型编译型

      解释型的特点是:逐行翻译,逐行执行。 如shell python

      编译型的特点是:一次编译,全部执行。 如c语言 c++

shell脚本语言介绍

  shell脚本包括:1、命令2、变量3、逻辑关系

  shell中定义脚本编辑器#!/bin/bash,这一句代码是必写的

  使用bash命令来执行脚本

bash -n #查看shell脚本的逻辑错误
bash -x #逐行显示执行的脚本程序

  或者先为脚本授以执行权限chmod +x 脚本名,再使用./脚本名就可以执行脚本

变量

  环境变量 echo $path 显示环境变量

  局部变量 decclare 命令 定义变量类型

  本地变量 local 在函数中使用

传参

  $? -- 上一条命令的执行状态 0 正确 1-255 错误
  $1 $2 ... ${10} -- 命令后面传入脚本的数据,以空格为分隔符
  $# -- 统计传参数量 ${$#} ?
  $* -- 表示所有的传参,所有的传参以字符串形式进行输出
  $@ -- 表示所有传参,将所有的传参以列表的形式进行输出
  【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】

test文件测试、条件判断

  在脚本中,我们需要进行 语句分支; 说白了,就要做判断
  判断就是使用test命令来实现;
  使用格式:
  1、test [option] file
  2、[ 条件语句 ]
  常见的test选项:
    比较选项:
      -eq 等于
      -ne 不等于
      -gt 大于
      -ge 大于等于
      -lt 小于
      -le 小于等于
    判断选项:
      -f 判断是否为普通文件
      -d 判断是否为目录文件
      -l 判断是否为连接文件
      -r -w -x 判断文件是否具有 读 写 执行 权限
    关联选项:
      -o 或
      -a 与
      ! 非
    字符串判断:
      = 判断两边的字符串是否相同
      != 不等于
      -z 判断字符串是否存在
      -n 和 -z 相反,存在为假,不存在为真

逻辑运算   

  与 && : 两边的命令,都为真,结果才是真
  或 || : 两边的命令,一边为真,就是真,同时为假,才是假
  非 !=

  这个逻辑运算符,前后对接的都是单独存在的命令;
    [ $? -eq 0 ] && exit 0 || exit 1

交互输入

  read 命令

    read命令同时可以定义多个变量值,而输入的内容默认以空格为分隔符,如果默认过多,最后所有的值都会被赋予给最后一个变量,如果默认值过少,多余的变量则为空值

    read常用参数

read -p 请输入一个目录
read -t 定义超时时间