通过前面的学习,我们对于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 定义超时时间

转载于:https://www.cnblogs.com/Y139147/p/11359308.html

linux100day(day5)--编程原理和shell脚本相关推荐

  1. HBase学习指南之HBase原理和Shell使用

    HBase学习指南之HBase原理和Shell使用 参考资料: 1.https://www.cnblogs.com/nexiyi/p/hbase_shell.html,hbase shell 转载于: ...

  2. linux系统shell脚本编程,Linux系统shell脚本编程(一)

    哈喽,大家好,我是Adam.前面我发了不少关于linux 的文章,今天也是一样,将分几篇文章系统化的讲讲shell脚本编程.废话不多说,走起走起!        首先说一下shell脚本是什么.简单来 ...

  3. linux脚本编程延时函数,shell脚本编程之函数

    技术交流QQ群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.基本的脚本函数 脚本函数出现的目的:为了解决大型处理过程中,需要将相同的重复代码封装起 ...

  4. Linux命令行与shell脚本编程大全(shell脚本编程基础部分)

    第十一章 构建基本脚本 #为注释,但#!在第一行中后可以接shell的种类:如#!/bin/bash 会告诉shell用哪个shell来运行脚本 echo -n(显示在同一行中) 环境变量:set 用 ...

  5. Aop切面编程原理和Spring实现

    Aop切面编程概念 AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等 AOP实现的原理就是动态代理,在有接口的情况下 ...

  6. 【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-汇总 ( Chapter17-ChapterB )

    十七.创建函数 bash shell 提供了用户自定义函数功能,可以将 shell 脚本代码放入函数中封装起来. 函数是一个脚本代码块,你可以为其命名并在脚本中的任何位置重用它.每当需要在脚本中使用该 ...

  7. linux之基础shell脚本编程1 基础变量赋值

    本章主要介绍函数的基础,变量赋值,逻辑运算,条件表达式,测试 linux之基础shell脚本编程1  基础变量赋值 linux之基础shell脚本编程2 if语句循环判断 linux之基础shell脚 ...

  8. shell脚本编程for循环求阶乘_shell脚本编程(完结版).pdf

    shell脚本编程(完结版) Shell 脚本编程学习笔记 2013 年 5 月 2 日 追风~忆梦 如有任何疑问,请联系作者,作者 QQ:1028150787,或者到韦东山群共同讨论 1 Shell ...

  9. (1)Shell 编程学习 Shell是什么?Shell的浅显原理 为什么要学Shell 及其第一个Shell脚本 CTF角度学习Shell

    最近刷CTF题目的时候经常要用到Shell语言,但是自己并没有系统的学习,所以最近花了点时间学习一下,所以重新来梳理一下.对于稍微有一点编程语言基础的同学,能上手Shell其实不需要半小时(甚至更短) ...

最新文章

  1. 穿山甲发布聚合产品GroMore,为开发者变现赋能
  2. python制作ios游戏_python自动化生成IOS的图标
  3. 子站间 携带cookie_JavaScript cookie 不同子域名之间共享
  4. php 请求拦截,解决拦截器对ajax请求的拦截实例详解
  5. Pat乙级1089 狼人杀-简单版
  6. 为什么已有Elasticsearch,我们还要重造实时分析引擎AresDB?
  7. LeetCode 1071. 字符串的最大公因子(字符串的最大公约数)
  8. 使用GDAL对DEM渲染处理流程
  9. 最大岛屿-----简单的 搜索
  10. 一台计算机安装了fortran语言,win10系统fortran怎么安装_win10系统fortran安装教程
  11. 清空数据库里面所有表的数据的语句
  12. python考试分几级_全国计算机等级考试2级分几类?到底怎么考啊?
  13. 应用宝apk_应用商店抽成五五开,热门新游戏揭竿而起
  14. 使用ssh登录华为云linux,mac远程ssh登陆华为云--linux版本
  15. 重庆博物馆的智慧公厕管理系统
  16. 十七点学完安全知识超级详细了解进程和病毒知识 转载
  17. 1-1/2+1/3-1/4+.........+1/99-1/100
  18. java 包别名_包别名(Package Aliasing)
  19. 华强北山寨“AirPods 3”出圈,油管博主直夸好
  20. 树莓派模块化编程之TM1637驱动四位数码管

热门文章

  1. 用Eclipse调试Java程序的一些小技巧
  2. 关掉微软Word的一些不必要的插件,提高启动速度
  3. SAP UI5里关于时区问题转换的JavaScript代码
  4. 如何从iTunes里取得移动设备的uuid
  5. CRM WebClient UI和Hybris里工作中心跳转的url生成逻辑
  6. idea JDK安装与配置
  7. 2导出指定表结构_大白话详解大数据hive知识点,老刘真的很用心(2)
  8. 恒生电子实施怎么样_蓝思科技今年来涨幅超166%,消费电子主题基金如何挑选?...
  9. 挑战程序设计竞赛_实力爆棚!2019年,华中科技大学拿下亚洲区竞赛金牌4枚!...
  10. 超声波定高--过滤突然出现的障碍物