zoukankan      html  css  js  c++  java
  • Shell:Day03笔记

    编程原理:
    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、变量
         环境变量
         局部变量 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、逻辑运算
           与   && 两边的命令,都为真,结果才是真
           或   || 两边的命令,一边为真,就是真,同时为假,才是假
           非 != 同上
           这个逻辑运算符,前后对接的都是单独存在的命令;
           [$? -eq 0] && exit 0 || exit 1
     
    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=$(2+3)
              echo $a
           + - * / %
  • 相关阅读:
    学习redis-安装和基本一些命令
    Eclipse启动报错Java was started but returned exit code=13
    踩过的坑系列之InputStream.read(byte[])方法
    <<深入Java虚拟机>>-虚拟机类加载机制-学习笔记
    <<深入Java虚拟机>>-第三章-垃圾收集器与内存分配策略-学习笔记
    <<深入Java虚拟机>>-第二章-Java内存区域-学习笔记
    创建线程的两种方式比较Thread VS Runnable
    Java设计模式之--代理模式学习
    shell脚本中$参数的介绍
    (转)使用DataTime这个类来获取当前的时间
  • 原文地址:https://www.cnblogs.com/why098/p/11347824.html
Copyright © 2011-2022 走看看