zoukankan      html  css  js  c++  java
  • 1.Shell编程的基本语法01

    1.前言

      shell编程是很重要的,不管是对于系统运维还是数据库运维都是必须要掌握的核心技能

    2.变量     

       (1)定义变量
      name=tom
      
      (2)撤销变量
      unset name

     (3)声称全局变量 -->该子shell进程也能继承该变量
      export name
      
     (4)声称静态变量 -->静态变量不能被修改,不能被撤销
      readonly name=tom

    3.变量的语法规则 

    • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
    • 等号两侧不能有空格
    • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
    • 变量的值如果有空格,需要使用双引号或单引号括起来。

    4.特殊变量 

    $n:
        $0 :代表的是当前脚本的名称
        $1 :代表脚本后面跟的第一个参数,$2:代表脚本后面的第二个参数,$3...$n 以此类推
    
    $# :代表输入参数的个数
    
    $*和$@ :都能够返回全部参数,但是只有在循环中且放在引号中能够体现出它们的区别。
    
    $? :返回上一条命令的执行结果,如果上一条命令执行成功,返回0,如果命令执行失败,则返回非0数

    5.运算符

      (())或[表达式]

    [root@apple ~]# echo $((20+30))
    50
    [root@apple ~]# echo $(((15+15)*2))
    60
    [root@apple ~]# echo $[(15+15)*2]
    60

    6.条件判断

      1.基本语法

    • 写法一: test condition
    • 写法二:[ condition ]             ##注意condition前后均有空格 

      2.常用判断条件

      

    7.流程控制

      1.if 判断句

        语法:
          

    if [[ condition ]]; then
    
       #statements
    else  
    
       #statements
    
    fi

    或者下面的写法也正确(有验证过)

    if [ condition ] then
      statments
    else
      statments
    fi
     
    可以看到第一种使用的是双中括号,但是后面的需要跟上; 第二种用的是单中括号,但是后面需要再加上;
      

      2.case分支

    case $1 in
        1)
            echo "the value is 1";;
        2)
            echo "the value is 2";;
        3)
            echo "the value is 3";;
        4)
            echo "the value is 4";;
        *)
            echo "defult value"

      3.for循坏 

    for (( i=1;i<=10;i++ ))
    do
    echo $i
    done

      4.for in循坏

    for i in $*
    do
    echo $i
    done

      5.while循坏

    s=0
    i=1
    while [ $i -le 100 ]
    do
            s=$[$s+$i]
            i=$[$i+1]
    done
    
    echo $s

    或者 

    s=0
    for ((i=0;i<=100;i++))
    do
            s=$(($s+$i))
    
    done
    echo $

    参考文章  https://blog.csdn.net/weixin_48789028/article/details/107691173

          https://blog.csdn.net/qq_24393347/article/details/100272360

      

      

  • 相关阅读:
    封装格式---FLV---文件格式解析
    高并发服务器---基础----IO模式和IO多路复用
    nginx---如何实现轻量级和高并发
    nginx---基础介绍
    H.264---SPS和PPS
    机器学习---算法---朴素贝叶斯
    机器学习---算法---Adaboost
    流媒体传输协议---STUN---基础
    H.264---指数哥伦布编码
    【linux】vim编辑器快捷键使用方法
  • 原文地址:https://www.cnblogs.com/zmc60/p/15175622.html
Copyright © 2011-2022 走看看