1). 条件表达式语法信息
    [ 1 -eq 1 ] && echo 1        <-- 表示条件成功,执行相应操作
    [ 1 -eq 1 ] || echo 1        <-- 表示条件失败,执行相应操作

[ 1 -eq 1 ] && {            <-- 表示条件成功,执行相应多个操作
        echo 1
        echo 2
    }        
    [ 1 -eq 1 ] || {            <-- 表示条件失败,执行相应多个操作
        echo 1
        echo 2
    }
    总结说明: 以上条件表达式用法相当于if单分支语句
              系统脚本中单分支判断都不用if来进行条件判断

[ 1 -eq 1 ] && {            <-- 表示条件成功,执行相应多个操作
        echo 1
        echo 2
    } || {
        echo 3                  <-- 表示条件失败,执行相应多个操作
        echo 4
    }
    总结说明: 以上条件表达式用法相当于if双分支语句
    
2). if条件语法信息
    if [ <测试表达式> ]            <-- 单分支if语句
    then
        指令信息...
    fi
    
    if [ <测试表达式> ]            <-- 双分支if语句
    then                            *补充: 在if语句中需要掌握冒号用法
        指令信息...
    else
        指令信息...
    fi    
    
    if [ <测试表达式> ]            <-- 多分支if语句
    then
        指令信息...
    elif [ <测试表达式> ]
    then
        指令信息...
    else
        指令信息...
    fi    
    总结说明: 多分支语句也可以类似于case条件语句

3). case条件语法信息
    a. 服务启动停止脚本(传参的个数有限)
    b. 根据菜单信息进行选择
    c. 有yes或no进行交互的时候
    case "变量" in
        1)
          指令01...
          ;;
        2)
          指令02...
          ;;
        3)
          指令03...
          ;;
        *)
          指令04...
    esac
    总结说明: case条件语句也可以类似于if多分支语句    
        
4). while循环语法信息
    while <测试表达式>
    do
        指令信息...
    done
    
    while true
    do
        指令信息...
        usleep xxx
    done
    总结说明: 实现守护进程方式运行
    
    while read line
    do
        指令信息...
    done<$1
    总结说明: 实现读取文件内容, 按行进行读取

5). for循环语法信息
    for 变量名 in 变量列表信息
    do
        循环指令信息...
    done
    
    for ((i=1;i<=10;i++))
    do
        循环指令信息...
    done
    
6). 函数编写方式
    function test(){
       local i                    <-- 设置函数局部变量信息
       return 11                <-- 设置函数执行调用后返回值信息
    }

function test {
       local i                    <-- 设置函数局部变量信息
       return 11                <-- 设置函数执行调用后返回值信息
    }

test(){
       local i                    <-- 设置函数局部变量信息
       return 11                <-- 设置函数执行调用后返回值信息
    }
    说明: 函数中如果有传参信息, 需要在调用函数时进行传参

shell 语法的更多相关文章

  1. makefile中的shell语法

    在Makefile中写shell代码有点诡异,和不同的shell语法不太一样,如果不了解,看Makefile会莫名其妙.下面总结了一些. 1:尽在Makefile文件的目标项冒号后的另起一行的代码才是 ...

  2. Hadoop学习笔记之HBase Shell语法练习

    Hadoop学习笔记之HBase Shell语法练习 作者:hugengyong 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令 ...

  3. Shell语法规范

    ver:1.0 博客:https://www.cnblogs.com/Rohn 本文介绍了Shell编程的一些语法规范,主要参考依据为谷歌的Shell语法风格. 目录 背景 使用哪一种Shell 什么 ...

  4. shell语法习题练习进阶版

    第4章 shell语法深度习题练习 4.1 使用if,case,函数的方法将服务改成system(centos6) 4.1.1 if方法 4.1.1.1 system实现 4.1.1.1.1 编写代码 ...

  5. 读完学会shell语法,shell脚本80%已经学会

    第3章 shell语法讲解 3.1 shell运算讲解 3.1.1 运算符的讲解 3.1.2 shell运算方式的讲解 3.1.2.1 $(())运算 [root@m01 test_init] # a ...

  6. shell语法

    基本语法列表 #linux组成:内核+工具 #linux启动: . getty:提示登录名和密码,输入之后调用login . login:login验证用户名和密码,然后调用shell . shell ...

  7. Shell 语法 if 、 case 、for 、 while、 until 、select 、repeat、子函数

    if语法 :   if [ expression ]    then   commandselif [ expression2 ]   then   commandselse   commandsfi ...

  8. Shell 语法之结构化命令(流程控制)

    许多程序在脚本命令之间需要某种逻辑流控制,允许脚本根据变量值的条件或者其他命令的结果路过一些命令或者循环执行这些命令.这些命令通常被称为结构化命令.和其他高级程序设计语言一样,shell提供了用来控制 ...

  9. shell语法快速入门(1)

    #得到绝对路径 DIR=$(cd `dirname $0`;pwd) $DIR/file.txt #去掉#注释 egrep -v "(#|^$)" /etc/zabbix/zabb ...

  10. shell语法基础

    一.变量 1.linux大小写敏感,变量取名要注意大小写.可以通过变量名前面加$来访问变量的内容.可以通过使用read命令来将用户输入的值赋给一个变量. 2.给变量赋值时,如果字符串中包含空格,就必须 ...

随机推荐

  1. Highway Networks(高速路神经网络)

    Rupesh Kumar Srivastava (邮箱:RUPESH@IDSIA.CH)Klaus Greff (邮箱:KLAUS@IDSIA.CH)J¨ urgen Schmidhuber (邮箱: ...

  2. PostgreSQL 速查、备忘手册 | PostgreSQL Quick Find and Tutorial

    PostgreSQL 速查.备忘手册 作者:汪嘉霖 这是一个你可能需要的一个备忘手册,此手册方便你快速查询到你需要的常见功能.有时也有一些曾经被使用过的高级功能.如无特殊说明,此手册仅适用于 Linu ...

  3. POJ3259 Wormholes(SPFA判断负环)

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  4. 服务器控件数据回发实现IPostBackDataHandler需注意的

    我写的服务器控件(未完,模型如此) using System; using System.Collections.Generic; using System.Collections.Specializ ...

  5. 平台播放声音(ext.js)

    首先把需要的两个js文件放在public/core路径下 (文件已经上传到博客了) 音频文件放在文件一级目录 代码:JxCustom.loadAudio("wav/NG.wav") ...

  6. WPF程序开机速度策略

    WPF程序开机速度慢是一个很讨厌的问题.具体分析后,可能有以下问题 1.在主线程中加载图像导致 2.初始化各种UserControl导致 3.加载类库导致

  7. ftp操作方法整理

    1.整理简化了下C#的ftp操作,方便使用    1.支持创建多级目录    2.批量删除    3.整个目录上传    4.整个目录删除    5.整个目录下载 2.调用方法展示, var ftp ...

  8. linux下关闭防火墙命令

    今天使用linux虚拟机搭建jenkins,但是在虚拟机内部使用浏览器可以访问jenkins主页,在物理机上却无法访问jenkins主页,查找原因后是因为linux虚拟机没有关闭防火墙,关闭防火墙后, ...

  9. 小白如何将代码上传到github上?

    网上已经有很多关于这个的教程,有一步步操作的,但有些感觉已经颇旧了.现在更新一个最新版的github小白教程.尽管以后此教程也会变成旧的,至少在这一段时期,本文还是最新的.就按照github官网上教程 ...

  10. request payload

    最近在调试代码时发现有Request Payload的情况,从网上查一些文件,也都有较多的描述.下面我只是说明一下大家没有注意的地方 关于HTTP请求,都是通过URL及参数向后台发送数据.主要方式有G ...