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. Maven类包冲突终极三大解决技巧 mvn dependency:tree

    Maven对于新手来说是<步步惊心>,因为它包罗万象,博大精深,因为当你初来乍到时,你就像一个进入森林的陌生访客一样迷茫. Maven对于老手来说是<真爱配方>,因为它无所不能 ...

  2. db2中临时表在存储过程中的使用

    DROP PROCEDURE ADMINISTRATOR.SP_TEST (INTEGER, CHARACTER ()); CREATE PROCEDURE administrator.sp_test ...

  3. HTML 5+CSS 3网站布局应用教程 (赵振方) 随书光盘 ​

    <HTML5+CSS3网站布局应用教程>全面介绍HTML 5与CSS 3进行Web设计的知识.全书由16章组成.主要内容包括:主流浏览器对HTML 5的支持情况.HTML 5与HTML4在 ...

  4. Nginx配置 简单写了个

    #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_l ...

  5. 基于zookeeper实现高性能分布式锁

    实现原理:利用zookeeper的持久性节点和Watcher机制 具体步骤: 1.创建持久性节点 zkLock 2.在此父节点下创建子节点列表,name按顺序定义 3.Java程序获取该节点下的所有顺 ...

  6. MVC ASP.NET MVC各个版本的区别

    ASP.NET MVC各个版本的区别 Net Framework4.5是不支持安装在window server 2003上,如非装请用net framework4.0; MVC1.0 publsh t ...

  7. react.js学习之路一

    今天新老大来了,我们要学习他使用的框架react.js,现在是两眼一抹黑,对于我这个前端菜鸟来说,是真正的重新开始,好了,不说那么多了,开始随便记录我的学习,之后再整理内容. (1)对于react来说 ...

  8. k8s(未完待续)

    K8s简介Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展. 使用Kubernetes可以  自动化容器的部署和复制  随时扩展或收缩容器规模  将容器 ...

  9. ASP Session 对象

    http://www.w3school.com.cn/asp/asp_sessions.asp

  10. 【bzoj3796】Mushroom追妹纸 hash/sa+kmp+二分

    Description Mushroom最近看上了一个漂亮妹纸.他选择一种非常经典的手段来表达自己的心意--写情书.考虑到自己的表达能力,Mushroom决定不手写情书.他从网上找到了两篇极佳的情书, ...