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. 编写高质量代码改善C#程序的157个建议——建议9: 习惯重载运算符

    建议9: 习惯重载运算符 在开发过程中,应该习惯于使用微软提供给我们的语法特性.我想每个人都喜欢看到这样的语法特性: ; ; int total = x + y; 而不是用下面的语法来完成一样的事情: ...

  2. 解决iReport打不开的一种方法

    解决iReport打不开的一种方法 iReport版本:iReport-5.6.0-windows-installer.exe 系统:Win7 64位 JDK:1.7 在公司电脑安装没问题,能打开,但 ...

  3. MongoDB整理笔记の安全访问

    MongoDB安全访问将从以下三个方面得到控制!   1.绑定IP内网地址访问MongoDB服务     2.设置监听端口     3.使用用户名和密码 绑定IP内网地址访问MongoDB服务 Mon ...

  4. EBS取Web字段SQL操作文档

    1)  安全性—>责任-à定义 在这个路径下,输入责任名称,可以查询这个责任的请求组的名称 2)  organization_id 和 org_id的功能 3)  查找网页上的字段 Naviga ...

  5. 享元(Flyweight)模式

    享元(Flyweight)模式:运用共享技术有效的支持大量细粒度的对象. /* * 抽象享元(Flyweight)角色:此角色是所有的具体享元类的超类,为这些类规定出需要实现的公共接口. 那些需要外蕴 ...

  6. windows service使用log4net 记录日志

    最近写了个定时邮件推送的服务,当利用lognet4记录日志时,发现日志并没有记录.后来明白windows 服务一般默认是在C:\Windows\System 或是C:\Windows\System32 ...

  7. php 递归删除目录

    /* * 递归删除目录 */ function deletedir($dir){ if($handle = @opendir($dir)){ while($file = readdir($handle ...

  8. Delphi XE8中Delphi和JAVA数据类型对应关系!

    Delphi XE8中Delphi和JAVA数据类型对应关系所在单元文件:Androidapi.JNI.JavaTypes 对应关系: JObject = interface;//java.lang. ...

  9. Invalid App Store Icon. The App Store Icon in the asset catalog in 'xxx.app' can’t be transparent nor contain an alpha channel.

    1.向appstore上传应用的时候,报了这样一个错误 ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in th ...

  10. OC字符串与C语言字符串之间的相互转换

    1.C转OC字符串 const char *cString = "This is a C string"; // 动态方法 NSString *ocString1 = [[NSSt ...