编程原理:
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
       + - * / %

Shell:Day03笔记的更多相关文章

  1. Learning The Bash Shell读书笔记(整理)

    最近搞了一本书 Learning Bash Shell,发现有人已经写了阅读笔记,我就在这边整理一下 来自blog:http://blog.sina.com.cn/n4mine Learning Th ...

  2. SHELL学习笔记----IF条件判断,判断条件

    SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外.  if list then           do something here   ...

  3. Shell编程笔记

    Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理.   修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...

  4. shell学习笔记

    shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...

  5. 菜鸟教程之学习Shell script笔记(上)

    菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...

  6. python day03笔记总结

    2019.3.29 S21 day03笔记总结 昨日回顾及补充 1.运算符补充 in not in 2.优先级 运算符与运算符之间也有优先级之分 今日内容 一.整型(int) py2 与 py3 的区 ...

  7. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  8. shell学习笔记汇总

    1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...

  9. shell 学习笔记2-shell-test

    一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...

随机推荐

  1. Redis02——Redis内存数据如何保存到磁盘

    在前一篇文章中,已经介绍了Redis的基础数据结构,这篇文章将继续介绍Redis的持久化原理. 简介 众所周知Redis的所有数据都存在于内存之中,这就会存在因内存问题而导致的数据丢失,为了避免这一问 ...

  2. Simulink仿真入门到精通(十一) 模块的封装

    当用户编写了自定义的S函数或者使用Simulink标准库中的模块搭建子系统后,可以通过封装为其设计显示外观,追加参数对话框. 封装是构建一个以对话框为接口的交互界面的过程,它将复杂的模块逻辑关系隐藏起 ...

  3. redis作为消息队列的原理

    Redis队列功能介绍 List 转:https://blog.csdn.net/cestlavieqiang/article/details/84197736 常用命令: Blpop删除,并获得该列 ...

  4. ASP.NET 开源导入导出库Magicodes.IE 完成Excel图片导入导出

    Magicodes.IE Excel图片导入导出 为了更好的根据实际功能来迭代,从2.2的里程碑规划开始,我们将结合社区的建议和意见来进行迭代,您可以点此链接来提交您的意见和建议: https://g ...

  5. 深入理解“骑士”漏洞 VoltJockey

    先理解一下题目:VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over Multi-core ...

  6. asp.net c# 通过消息队列处理高并发请求(以抢小米手机为例)

    网站面对高并发的情况下,除了增加硬件, 优化程序提高以响应速度外,还可以通过并行改串行的思路来解决.这种思想常见的实践方式就是数据库锁和消息队列的方式.这种方式的缺点是需要排队,响应速度慢,优点是节省 ...

  7. JDBC链接数据库。

    第一步,创建一个空包: 给包起个名字: 新建Modules: 给Modules起名: 创建libs文件: 点击file---->new---->project---->Directo ...

  8. 洛古 P1312 Mayan游戏(dfs+剪枝)

    题目链接 这道题和俄罗斯方块很像 很明显,我们可以看出这是一个dfs,但是,我们需要几条剪枝: 1.如果只剩下1个或2个同样颜色的方块,那么直接退出 2.相同的块不用交换 3.注意优先性,优先左边换右 ...

  9. 被问到到http的时候你就这么回答!

    大家好,我是标题党,啊不,我是小雨小雨,致力于分享有趣的.实用的技术文章. 内容分为翻译和原创,如果有问题,欢迎随时评论或私信,希望和大家一起进步. 分享不易,希望能够得到大家的支持和关注. 什么是互 ...

  10. 洛谷 P2568 GCD 题解

    原题链接 庆祝一下:数论紫题达成成就! 第一道数论紫题.写个题解庆祝一下吧. 简要题意:求 \[\sum_{i=1}^n \sum_{j=1}^n [gcd(i,j)==p] \] 其中 \(p\) ...