参数变量:用来向脚本中传递参数

  我们在执行脚本的时候可以在其后面加入一些参数,通常来说这些参数与脚本中变量为对应关系。

    start.sh argu1 argu2

      引用方式:

        $1,,2,……${10}${11},……

        在脚本后边给两个文件路径分别对应文件中的$1,$2。并将值传递给$1,$2

          

      

       轮替:

        shift n:位置参数轮替。不给定个数时能默认为1.

          脚本后给了三个参数,使用shift踢掉两个,所以脚本中最后引用$1实际值为3

        

特殊变量:

  $0:脚本文件路径本身

  $#:脚本参数的个数

  $*:所有参数

  $@:所有参数

  特殊变量示例

    

代码执行顺序

顺序执行:从脚本第一行逐条执行至最后一行。

选择执行:

  代码只有一个分支:条件满足是执行

  代码有大于1个分级:只会执行满足条件的一个分支

循环执行:代码被执行N次

  if:单分支、双分支、多分支

     单分支if

      if 测试条件;then

        body

      fi

    双分支if

      if 测试条件;then

        测试条件为真执行的body

      else

        测试条件为假执行的body

      fi

    多分支if

      if 测试条件1;then

        测试条件1为真执行的body

      elif 测试条件2;then

        测试条件2位真执行的body

      ……

      else

        所有条件不满足是执行的body

      fi

    if示例

      添加用户

      

      比较大小

      

      奇偶判断

      

      判断文件类型

      

      写一个脚本列出可执行的操作,并让用户输入选项,每个选项对应一种操作

      

      用户类型判断

      

  

  for:用来遍历列表和控制变量

    列表生成方式:

      直接给出列表

      整数列表

        {start..end}

        seq [start [incremtal]] end

        返回列表的命令 如ls /etc/* 结果也保存在列表中

        等

      示例

      

    for VAR in LIST;do

      循环体

    done

    for示例:

        求1-100之和

    

练习题:

    第二题

    

    第一题

    

    第三题

    

  while:当循环

    while CONDITION;do

      循环体(包含循环控制变量修正表达式以退出循环)

    done

  until:直到循环

    until CONDITION;do

      循环体(包含循环控制变量修正表达式以退出循环)

    done

  while练习:打印九九乘法表

  

  case:

    case支持glob风格的通配符

      *:任意长度的任意字符

      ?:任意单个字符

      []:范围内任意单个字符

      a|b:a或b

    case $VAR in

    PAT1)

      分支1

      ;;

    PAT2)

      分支2

      ;;

    ……

    *)

      以上所有条件均不满足是执行分支n

      ;;

    esac

    

    case示例 

    

    

  

  

linux bash shell编程之参数变量和流程控制。的更多相关文章

  1. Linux学习——shell编程之环境变量配置文件

    小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...

  2. 第10章 Shell编程(4)_流程控制

    5. 流程控制 5.1 if语句 (1)格式: 格式1 格式2 多分支if if [ 条件判断式 ];then #程序 else #程序 fi if [ 条件判断式 ] then #程序 else # ...

  3. 【shell编程】之基础知识-流程控制

    和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?php if (isset($_GET["q"])) { search(q); ...

  4. 零基础学习云计算及大数据DBA集群架构师【Linux Bash Shell编程及系统自动化2015年1月21日周四】

    lvy老师教项目课程,以及代课了shell部分课程,大家都觉得这位老师不行,上课时做的操作很多都是错误的,觉得她基础不好.而且,她不能解释原因,学生问为什么,她不知道.崩溃啊.向xx培训机构反应后,说 ...

  5. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  6. linux 10 -Bash Shell编程

    二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...

  7. shell编程下 特殊变量、test / [ ]判断、循环、脚本排错

    第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~]# cat /server/scripts/show2.sh #!/bin/ ...

  8. 【转】shell编程下 特殊变量、test / [ ]判断、循环、脚本排错

    [转]shell编程下 特殊变量.test / [ ]判断.循环.脚本排错 第1章 shell中的特殊变量 1.1 $# $# 表示参数的个数 1.1.1 [示例]脚本内容 [root@znix ~] ...

  9. 01 shell编程规范与变量

    前言: 大家对shell脚本应该都不算陌生了,如果突然问你什么是shell脚本?是干什么用的?由什么组成以及怎么使用?变量的概念是什么?作用范围是什么?变量间的算术运算怎么表示?你能很容易答出来吗 本 ...

随机推荐

  1. ORACLE定时备份方案

    ORACLE定时备份方案 采用ORACLE的EXP工具,实现ORACLE的备份:采用LINUX的服务crond实现定时功能. 1 编辑SH,实现备份功能 #vi oracle_backup.sh,输入 ...

  2. Veins(车载通信仿真框架)入门教程(四)——调试及记录结果

    Veins(车载通信仿真框架)入门教程(四)——调试及记录结果 在Veins入门教程(三)最后的动图中(如下图)可以看到大大小小的光圈,这个怎么实现的呢? 很简单,以收到RTS消息为例,通过finHo ...

  3. Flask+WebSocket实现群聊与单聊功能

    在开始我们的程序代码之前,先来了解一下相关的基础知识: 1.什么是websocket? (1)WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket ...

  4. 持续集成学习6 jenkins自动化代码构建

    一.实验目标 二.配置 1.配置mvn构建 [root@node1 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3 ...

  5. 小白学 Python(16):基础数据类型(函数)(上)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. forEach,map,every,some,filter简单用法实例

    平时简单总结:不足之处还望见谅: 实例: 11.1 forEach:只能进行取值操作,不能进行修改 arr.forEach(function(element,index,arr){});//注意参数: ...

  7. ubuntu & centos RTL88x2BU 无线网卡驱动(v5.1.7_19806) 安装

    前提   大部分情况都是因为当前系统的内核不满足驱动文件的编译条件,可以通过驱动文件中的文档来确定是否要升级内核还是降级内核, 对于升级内核只需要下载指定的内核版本安装即可,降级内核(暂时不清楚是否会 ...

  8. Linux 命令行获取天气

    目标: 使用 Linux 命令行显示天气预报. 发行版: 所有 Linux 发行版. 要求: 能连上因特网的 Linux 难度: 容易 约定: # - 需要使用 root 权限来执行指定命令,可以直接 ...

  9. 暑期集训20190730 取模(mod)

    [题目描述] 给定一个长度为n的非负整数序列a,你需要支持以下操作: 1:给定l,r,输出a[l]+a[l+1]+…+a[r]. 2:给定l,r,x,将a[l],a[l+1],…,a[r]对x取模. ...

  10. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示

    目录管理命令ls:列出指定目录下的内容格式: ls [OPTION]... [FILE]...   -a:显示所有文件包括隐藏文件   -A:显示除.和..之外的所有文件   -l,--long:显示 ...