美文网首页
shell脚本基础

shell脚本基础

作者: 天冷请穿衣 | 来源:发表于2020-03-02 14:25 被阅读0次

    shell 脚本开头部分的 #! 是告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
    运行 Shell 脚本有两种方法:
    1、作为可执行程序

     ./test.sh  #执行脚本 
    

    这种方式需要在第一行指定解释器信息,如 #!/bin/bash
    2、作为解释器参数

    /bin/sh test.sh
    

    这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

    • 变量
      定义变量,variable="value"
      使用变量,$variable
      只读变量,readonly a
      删除变量, unset variable_name

    变量类型
    运行shell时,会同时存在三种变量:

    1. 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
    2. 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
    3. shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行。

    Shell 字符串
    单引号

    • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
    • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
      双引号
    • 双引号里可以有变量
      -双引号里可以出现转义字符

    Shell 传递参数
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。0 是shell本身的名字。

    处理参数的特殊符号

    Shell 数组
    Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小。
    Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
    array_name=(value1 ... valuen)
    读取数组
    读取数组元素值的一般格式是:${array_name[index]}

    Shell 基本运算
    基本运算符
    表达式和运算符之间要有空格
    完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

    Shell 基本运算符

    乘号(*)前边必须加反斜杠()才能实现乘法运算;

    关系运算符

    关系运算符

    布尔运算符

    布尔运算符

    逻辑运算符

    逻辑运算符

    字符串运算符

    字符串运算符
    • for循环:
      一般格式为:
    for var in item1 item2 ... itemN
    do
    command1
    command2
    ...
    commandN
    done
    

    写成一行:

    for var in item1 item2 ... itemN; do command1; command2… done;
    

    示例:

    #直接列表
    for i in 1 2 3 4 5
    do
    echo "hello $i"
    done
    
    #序列生成
    for i  in  {1..5}
    do
    echo "hello $i"
    done
    
    #执行命令生成
    for i in $(seq 1 5)
    do
    echo "hello $i"
    done
    
    for ((i=1; i <= 5; i ++ ))
    do
    echo "hello $i"
    done
    

    相关文章

      网友评论

          本文标题:shell脚本基础

          本文链接:https://www.haomeiwen.com/subject/erayiqtx.html