bash编程语法

bash编程语法

  • 变量命令规则

    • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
    • 中间不能有空格,可以使用下划线(_)
    • 不能使用标点符号
    • 不能使用bash里的关键字(可用help命令查看保留关键字)
  • 定义变量 name="paul"

  • 打印变量 echo $name

  • readonly name 把name变成只读变量

  • unset name 删除变量,不能删除只读变量

  • 变量类型

    • 整数 number=1
    • 字符串 name="paul george"
      • echo ${#name} 获取字符串长度
      • echo ${name:0:4} 提取子串,大于0小于等于4
    • 字符串拼接 greeting="hello, "$name""
    • 数组
      • my_array=(0, 1, "2", 3) 定义数组
      • my_array[0]=1 数组直接赋值
      • ${my_array[1]} 数组取值,默认从0开始
      • echo ${my_array[*]} 查看数组所有值
      • echo ${#my_array[*]} 查看数组的长度
  • 控制语句

    • if语句
      • 数字判断,-gt是大于,-lt是小于,-eq是等于,-ne是不等于,-ge是大于等于,le是小于等于
        #!/bin/bash
        a=10 
        b=10 
        if [ $a -eq $b ]
        then 
            echo "equal"
        elif [ $a -lt $b ]
            then echo "small"
        elif [ $a -gt $b ]
        then 
            echo "big"
        else 
            echo "OK"
        fi
        
      • 字符串比较
        #!/bin/bash
        a="hello world"
        b="hello w orld"
        if [ "$a" = "$b" ]
        then
            echo "a is same as b"
        else
            echo "a is different from  b"
        fi
        
    • for语句
      • for循环
        #!/bin/bash
        for loop in 1 2 3 4
        do 
            echo "hello"
        done
        
      • for循环读取文件,一行当中比如123 abc,会被读取成两个i
        for i in $(cat test.txt)
        do 
            echo $i; 
        done
        
    • while语句
      • while循环
        #!/bin/bash
        int=1 
        while (($int<=5))
        do 
            echo $int 
            let "int++"
        done
        
      • while循环读取文件,一行一行读取
        #!/bin/bash
        while read line
        do 
            echo $line
        done<test.txt  
        
posted @ 2020-10-06 20:35  iread9527  阅读(118)  评论(0编辑  收藏  举报