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

      

      

  • 相关阅读:
    【2021-01-01】爱自己等于爱家人
    【2020-12-31】2020的收获与2021的挑战
    【2020-12-30】说别人辛苦,其实是自己辛苦
    【一句日历】2021年1月
    最大子序和
    判断子序列
    下载安装 ethereal
    6812. 【2020.10.05提高组模拟】战争
    6816. 【2020.10.06提高组模拟】随机的排列
    python 版本及pip安装相关
  • 原文地址:https://www.cnblogs.com/zmc60/p/15175622.html
Copyright © 2011-2022 走看看