• shell脚本知识点梳理


    一、shell变量

    1、只能使用数字、字母和下划线,且不能以数字开头

    2、变量赋值是通过  =  进行赋值,在变量、等号和值之间不能有空格

     3、使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

    your_name="qinjx"
    echo ${your_name}

    4、单引号里的任何字符都会原样输出,不解析变量。

        双引号("")会解析变量,反引号(``)是执行引用命令的执行结果

     5、获取字符串长度、截取字符串

    name="runoob is a great site"

    echo ${#name}   # 输出 22
    echo ${#name[0]} # 输出22

    echo ${name:1:4} # 输出 unoo

     二、Shell 传递参数

     我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,其中 $0 为执行的文件名(包含文件路径)

    $#传递到脚本的参数个数
    $$脚本运行的当前进程ID号
    $?

    脚本退出的状态

    $0脚本执行的文件名称

    例子:

    运行结果:

    三、shell基本运算符 

    1、可以通过expr完成表达式的求值操作,表达式和运算符之间要有空格,

    2、val=`expr 2 \* 3`  乘号(*)前边必须加反斜杠(\)才能实现乘法运算

    3、条件表达式要放在方括号之间,并且要有空格,例如[$a==$b]是错误的

    四、流程控制

    1、if else-if else

    if else 的 [...] 判断语句中大于使用 -gt,小于使用 -lt。

    如果使用 ((...)) 作为判断语句,大于和小于可以直接使用 > 和 <。

    1. #!/bin/bash
    2. if [ $# -lt 1 ]
    3. then
    4. echo "not fount param"
    5. exit 100
    6. fi
    7. flag=$1
    8. if [ $flag -eq 1 ]
    9. then
    10. echo "one"
    11. fi
    12. if (( $flag < 2 ))
    13. then
    14. echo "1"
    15. fi
    16. ~

     

    2、for循环

    1. #!/bin/bash
    2. for str in 1 2 2 3
    3. do
    4. echo ${str}
    5. done

    运行结果:

     3.while循环

    1. #!/bin/bash
    2. i=1
    3. while(( $i<=5 ))
    4. do
    5. echo ${i}
    6. let "i++"
    7. done
    8. ~

    结果:

     五、shell文件包含

    shell文件包含的语法如下:

    . filename 注意点号(.)和文件名中间有一个空格

     

  • 相关阅读:
    ARM Cortex-M内核中系统堆栈
    数据结构题目收录(二十四)
    C++模版基础
    禁用windows系统ctrl+alt+del
    Leetcode刷题day2|数组二|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
    mobx基础及在react中的使用
    C语言练习题——分支和循环
    如果使用Vue要做根据已有的图形填入到指定的单元格中,你会怎么做?
    【FPGA教程案例40】通信案例10——基于FPGA的简易OFDM系统verilog实现
    3.1虚拟化和安装Docker
  • 原文地址:https://blog.csdn.net/libaowen609/article/details/126292447