zoukankan      html  css  js  c++  java
  • 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  
          
  • 相关阅读:
    过滤器判断请求参数中是否含有某一字段
    vscode开发vue项目实现pc端自适应_cssrem_rem_reset.scss,pc端媒体查询常用设置
    element_ui的datePicker修改样式
    TCP/IP 卷一 APR、RAPR、ICMP
    TCP/IP 卷一:协议(IP层)
    常见负载均衡策略
    TCP/IP 卷一:协议(链路层)
    TCP/IP 卷一:协议(概述)
    RokcetMQ
    Zookeeper集群
  • 原文地址:https://www.cnblogs.com/iread9527/p/13775375.html
Copyright © 2011-2022 走看看