• linux100day(day5)--编程原理和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 定义超时时间
  • 相关阅读:
    Oracle在Linux下使用异步IO(aio)配置
    慢慢聊Linux AIO
    ssh批量登录并执行命令(python实现)
    Reverse Linked List II
    Reverse Linked List
    Excel Sheet Column Title
    Summary Ranges
    面试题1:实现大数加减乘除四则运算
    Multiply Strings
    Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/Y139147/p/11359308.html
Copyright © 2020-2023  润新知