学shell的第三天

编程原理:
1.编程介绍
   早期编程
      驱动    硬件默认是不能使用的;
        不一样的厂家硬件设备之间须要进行指令沟通,咱们须要驱动程序来进行翻译;
        更趋近与硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家限制
   如今编程
      基于高级语言,以及超高级语言,更好的让程序员可以的实现编程功能
   编程语言的分类:
      高级语言、超高级语言须要翻译成计算机可读的语言(二进制指令)
      解释型--逐行翻译,逐行执行  shell
      编译型--一次编译,所有执行  c语言  c++ c#
      程序 = 指令 + 数据
      面向对象--侧重于数据的编程语言
      面向过程--侧重于指令
   编程语言的执行方式:
      一、顺序执行
      二、循环执行--for(遍历) while(循环条件) until(和while相反)
      三、选择执行--分支if *case*
二、shell脚本语言介绍
   优势:调用os(操做系统)的命令行,来实现全部功能;
   缺点:没有库调用
   shell脚本包括:一、*命令*(很是重要)二、变量(全局变量、局部变量、本地变量、传参)三、逻辑关系
   shell的第一句话!!!
   #!/bin/bash    --定义脚本解释器
   /etc/shells --- 查看当前系统支持的shell程序
   echo $SHELL --查看当前会话的shell程序
   /etc/passwd --制定了用户默认支持的shell程序
   shell的执行:
      1.bash命令来执行脚本
         -n     查看shell脚本的逻辑错误(注意:单词写错了可无论)
         -x     逐行显示执行的脚本程序(方便排错)
      2.受权chmod u+x filename.sh
三、变量
   环境变量
   局部变量  declare 命令--定义变量类型
   本地变量  local在函数中使用
   变量类型:
      数值型:
         1.整形
         2.浮点型
         3.布尔值 0 1 (真 假)(True False)
    字符串:
       1.普通字符及字符串
       2.数组
    编程语言的分类:
       强类型语言:--数值必须被定义,才能进行处理或运算
       弱类型语言:--编程语言能够自动识别变量类型
     【*多态*一个数据具备多个属性,而最后使用的属性取决于和它进行运算的数据】
    传参
       $?  --上一条命令的执行状态0正确1-255错误
       $1 $2 $3 ${10}--命令后面传入脚本的数据,以空格为分隔符
       $# --统计传参数量        ${$#}这个是最后一个传参
       $* --表示全部传参,全部的传参以字符串形式进行输出
       $@--表示全部传参,将全部的传参以列表的形式进行输出
    定义变量的格式:
        NAME=VALUE
        我没让你经过命令declare定义变量类型
        declare -i 整数
        declare -a 数组
    变量命名:
       1.下划线的方式指定变量名称
       2.驼峰命名法
四、test文件测试、条件判断
   在脚本中,咱们须要进行语句分支;说白了,就要作判断
   判断就是使用test命令来实现
   使用格式:c++

    1.test  参数  file程序员

    2.[条件语句]
   常见的test选项:
      比较选项:
      -eq等于
      -ne不等于
      -gt 大于
      -ge大于等于
      -lt小于
      -le小于等于
    文件判断选项:
      -f     -d    -L       -r       -w        -x
    关联选项:
      -o 或
      -a 与
      ! 非
    字符串判断
       =
       !=
       -z 判断字符串长度是否为0
       -n和z相反
五、逻辑运算
   与 &&:两边的命令,都是真,结果才是真
   或 ||:两边的命令,一边为真就是真,同时为假才为假
   非        !=
六、算数运算
   let   加法
   expr 乘法
   $[$1+10]
   $(($1/$2))
   + - * / % **shell

相关文章
相关标签/搜索