zoukankan      html  css  js  c++  java
  • shell变量

    什么是变量:

    变量就是用一个固定的字符串(也可能是字符数字等的组合),替代更多更复杂的内容,这个内容里可能还会包含变量和路径,字符串等其他内容。变量的定义是存在内存中

    变量的类型:

    环境变量(全局变量):可以在创建他们的Shell及派生出来的子shell中使用。环境变量又可以分为自定义环境变量和bash内置的环境变量。

    局部变量(普通变量):只能在创建他们的shell函数或shell脚本中使用,还记得前面的$user?我们创建的一般都是普通变量。eg:

    显示环境变量

    查看系统环境变量

     普通字符串变量定义测试

    把一个命令作为变量

    case 语句小结

    1)case语句就相当于多分支的if语句。case语句的优势是更规范,易读。
    2)case语句适合变量的值少,且为固定的数字或字符串集合。
    3)系统服务启动脚本传参的判断多用case语句

    练习:实现一个计算器

      1.编辑一个脚本:vim calculator.sh

              #!/bin/env bash

              echo $(($1))

          执行:sh calculator.sh 3+2   ===>5

          执行:sh calculator.sh 3**2  ===>9

        编辑脚本:vim calculator.sh

              #!/bin/env bash

              echo $(($1$2$3))

       执行:sh calculator.sh 3 - 2  ===>1

      2.传参并计算

       编辑脚本:vim calculator.sh

            #!/bin/env bash

            a=$1

            b=$2

            echo "a-b = $(($a -$b))"

            echo "a**b = $(($a**$b))"......

      3.直接输入命令:echo $[2+3]或echo $[2**3]

    防止脚本执行中断的方法:

    1)sh while01.sh & #放在后台执行
    2)screen 分离 ctrl+a+d 查看screen -ls进入screen -r num
    3)nohup while01.sh &

    脚本语句小结:

    1)while循环的特长是执行守护进程以及我们希望循环不退出持续执行,用于频率小于1分钟循环处理(crond),其他的while循环几乎都可以被for循环替代。
    2)case语句可以被if语句替换,一般在系统启动脚本传入少量固定规则字符串用case语句,其他普通判断多用if
    3)一句话,if,for语句最常用,其次while(守护进程),case(服务启动脚本)

    shell脚本调试技巧小结:

    1)要记得首先用dos2unix对脚本格式化
    2)直接执行脚本根据报错来调试,有时报错不准确。
    3)sh -x调试整个脚本,显示执行过程。
    4)set -x和set +x调试部分脚本(在脚本中设置)
    5)echo输出变量及相关内容,然后紧跟着exit退出,不执行后面程序的方式,一步步跟踪脚本,对于逻辑错误比较好用。
    6)最关键的时语法熟练,编码习惯,编程思想,将错误扼杀在萌芽中,减轻调试负担,提高效率。

  • 相关阅读:
    ovs QOS
    OpenvSwitch端口镜像
    MyCat入门指南
    Mycat跨分片Join
    MyCAT 命令行监控
    MyCat的分片规则
    FreeMarker初探--介绍
    FreeMarker初探--安装FreeMarker
    linux 安装配置zookeeper
    Maven 环境搭建及相应的配置
  • 原文地址:https://www.cnblogs.com/mashuang/p/9900254.html
Copyright © 2011-2022 走看看