zoukankan      html  css  js  c++  java
  • shell编程原理

    编程原理:
    1、编程结束
        驱动   硬件默认是不能使用的
            CPU控制硬件
            不同的厂家硬件设备之间需要进行指令沟通,就需要驱动程序来进行“翻译”
            编程语言的分类:
                高级语言、超高级语言需要翻译成计算机刻度的语言(二进制指令)
                解释型--逐行翻译,逐行执行 shell
                    bash -x filename.sh逐行执行
                编译型--一次编译,全部执行

                程序 = 指令 + 数据
                面向对象--侧重于数据的编程语言
                面向过程--侧重于指令

            编程语言的执行方式:
                1、顺序执行
                    第一句
                2、循环执行--for(遍历) while(循环条件) until(和while相反)
                3、选择执行--分支 if case

    2、shell脚本语言介绍
          优点:调用os(操作系统)的命令行,来实现所有功能
          缺点:没有库调用(区分python)

          shell脚本包括:1、命令 2、变量(全局变量、本地变量、传参)
                  3、逻辑关系

          shell的第一句话(必须写)
            #!/bin/bash--定义脚本解释器
            #!/usr/bin/python

            /etc/shells--查看当前系统支持的shell程序
            echo $SHELL --查看当前会话的shell程序
            /etc/passwd--制定了用户默认支持的shell程序(/sbin/nologin)

            shell的执行:
              1、bash 命令来执行脚本
                  -n 查看shell脚本的逻辑错误(注意:单词写错可不管)
                  -x 逐行显示执行的脚本程序(方便排错)
              2、授权chmod +x filename.sh
                  使用全路径执行脚本,即可

    3、变量
        环境变量 env和set可看
        局部变量 declare命令--定义变量类型
        本地变量 local在函数中的使用

        变量类型:
            数值型:
              1.整型 int
              2.浮点型 float
              3.布尔值 0 1(真假)(True False)
            字符串:
              1.普通字符及字符串
              2.数组

            编程语言的分类:
                强类型语言 -- 数值必须被定义,才能进行处理或运算
                弱类型语言 -- 编程语言可以自动识别变量类型
            【多态 一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
            传参
                $?--上一条命令的执行状态 0正确 1-255错误
                $1
                $2
                ...
                ${10} $1-${10}--命令后面传入脚本的数据,一空格为分隔符
                $#-- 统计传参数量 ${$#}
                $*-- 表示所有的传参,所有的传参以字符串的形式进行输出
                $@-- 表示所有的传参,将所有的传参以列表的形式进行输出

              定义变量格式:
                NAME=VALUE(一个等号叫赋值,两个等号叫判断)
                通过命令declare定义变量类型
                declare -i a=10 整数 int() str()
                declare -a 数组

              变量命令:
                1.下划线的方式指定变量名称
                2.驼峰命名方式

    4、test文件测试、条件判断
          在脚本中,我们需要进行语句分支;说白了,就是要做判断
          判断就是使用test命令来实现;
          使用格式:
              1、test[option] file
              2、[条件语句]
          常见的test选项:
              比较选项:
                -eq 等于
                -ne 不等于
                -gt 大于
                -ge 大于等于
                -lt 小于
                -le 小于等于
              判断选项:
                -f是否为普通文件
                -e文件是否存在
                -d是否目录文件
                -L是否链接文件
                -r -w -x是否具有。。。权限
              关联选项:
                -o或
                -a与
                ! 非
    5、逻辑运算
        与 &&
        或 ||
        非 !=

        这个逻辑运算符,前后对接的都是单独存在的命令
    6、算术运算
        let 1+1
        let a=1+1
        echo $a
        expr 1*1
        expr 1*10
        $[$1+10]
        a=$[2+3]
        echo $a
        $(($1/$2))
        a=$((3/2))
        echo $a

  • 相关阅读:
    boot文件上传的坑
    页面前端获取时间和数据库获取时间差八个小时 CST
    springcloud 学习
    springcloud 的eureka服务
    ROWNUM()应用案例-实现一个拉链表
    python dict 常用操作
    【转】团队项目的Git分支管理规范
    Python中使用cx_Oracle调用Oracle存储过程
    【转载】ORACLE 物化视图
    C# 加密解密
  • 原文地址:https://www.cnblogs.com/wangzijie123456/p/11360533.html
Copyright © 2011-2022 走看看