美文网首页
测试工程师需要了解的shell变量知识

测试工程师需要了解的shell变量知识

作者: 测试轩 | 来源:发表于2020-03-27 00:08 被阅读0次

欢迎访问个人博客

什么是变量

  • 本地变量:手动定义的,在当前系统的某个环境下才能生效,作用范围小

    • 普通变量:

      • 单引号:原字符输出,变量名=‘变量值’
      ➜  shell name='tom'
      ➜  shell echo $name
      tom
      
      • 双引号:变量名=“变量值”,看一下值当中有没有对其他变量的引用,如果有就获取变量值然后组合到一起输出
      ➜  shell word="I am $name"
      ➜  shell echo $word
      I am tom
      
      • 直接命名不加任何引号:变量名=变量值
      ➜  shell age=33
      ➜  shell echo $age
      33
      
      • 习惯用法:数字不加引号,其他家双引号
    • 命令变量:变量值是命令的变量,会将命令的执行结果赋值给变量

      • 变量名=`命令`,这是反引号
      ➜  shell files=`ll`
      ➜  shell echo $files
      total 8
      -rwxr-xr-x  1 zhouyajun  staff   228B Mar 26 21:58 itcast.sh
      drwx-wx--x  3 zhouyajun  staff    96B Oct 11 22:15 test
      
      • 变量名=$(命令)
      ➜  shell woshishui=$(whoami)
      ➜  shell echo $woshishui
      zhouyajun
      
      • 执行流程:执行命令,将命令执行后的结果复制给新的变量名

全局变量: 手工加默认方式定义的作用范围最大的变量

  • env 查看所有的全局变量
  • 声明全局变量
    • name=tom, 然后 export name,这就声明为全局变量了
    • export name=tom,直接声明全局变量

查看、删除变量

  • 查看变量
    • "asd ${变量名}"
    • "${变量名}"
  • 删除--unset 变量名

内置变量:bash命令中自带的一些参数变量

  • 脚本文件

    • $0 获取当前执行的shell脚本文件名

      #! /bin/bash
      # yy复制,p粘贴
      echo "获取当前文件名:get_name"
      echo "获取当前文件名:$0"
      
      ➜  shell /bin/bash get_name.sh
      获取当前文件名:get_name
      获取当前文件名:get_name.sh
      
    • n 获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0的时候表示脚本的文件名,如果n大于9就要用大括号括起来\{10}

    #! /bin/bash
    echo "获取参数"
    echo "获取命令行参数:$1"
    
    ➜  shell /bin/bash get_args.sh 1 2 3
    获取参数
    获取命令行参数:1
    
    • $# 获取当前执行shell命令行中参数的总个数
    #! /bin/bash
    echo "获取参数"
    echo "获取命令行参数:$#"
    
    ➜  shell /bin/bash get_args.sh 1 2 3 d gf
    获取参数
    获取命令行参数:5
    
    • $? 获取执行上一个指令的返回值(0为成功,非0为失败)

      ➜  shell echo $?  这是上面指令执行结果
      0
      ➜  shell asdfas  这是一条错误指令
      zsh: command not found: asdfas
      ➜  shell echo $?
      127
      
  • 精确获取 ${变量名:其实位置:截取长度},

    • ${file:0:5} 从第一个字符开始,截取5个字符
    • ${file:5:5} 从第6个字符开始截取6个字符
    • ${file:0-6:5} 从倒数第6个字符开始,截取之后的5个字符
    ➜  shell file=abcdefghijklmnopkrstuvwxyz
    ➜  shell echo $file
    abcdefghijklmnopkrstuvwxyz
    ➜  shell echo ${file:0:5}
    abcde
    ➜  shell echo ${file:5:5}
    fghij
    
    ➜  shell echo ${file:0-6:5}
    uvwxy
    
  • 默认值

    • 有条件生效 ${变量名:-默认值},如果变量没有指向的内容就输出默认值
    #! /bin/bash
    a="$1" # 获取命令行第一个参数
    echo "参数的值是: ${a:-1}"  # 设置默认值1
    
    ➜  shell /bin/bash default_value.sh 55
    参数的值是: 55
    ➜  shell /bin/bash default_value.sh
    参数的值是: 1
    
    • 无条件生效 ${变量名+默认值} 如果是否有指向内容,都输出默认值

欢迎大家去 我的博客 瞅瞅,里面有更多关于测试实战的内容哦!!

相关文章

  • 测试工程师需要了解的shell变量知识

    欢迎访问个人博客 什么是变量 本地变量:手动定义的,在当前系统的某个环境下才能生效,作用范围小普通变量:单引号:原...

  • Linux Shell:基础知识和Shell变量

    摘要:Linux,Shell 整理Shell内容要点: Shell基础知识 Shell变量的类型 Shell变量赋...

  • shell变量

    Shell变量 前面通过简单的程序了解了Shell的编辑和运行过程,这一节主要学习Shell的变量。 1.变量定义...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • iOS开发逆向之应用重签名(下)

    本文主要介绍通过shell脚本进行应用重签名 补充知识 在利用shell脚本重签名之前,需要了解以下知识:脚本常用...

  • 文集概览

    主要内容: 1. shell特性:易学,高效 2. shell变量 3. shell条件测试,判断 4. shel...

  • 07. Shell脚本变量和参数

    变量变量基础shell的变量定义同标识符的定义规则shell中,取变量的值,需要用到$符,$变量名变量的定义 变量...

  • Shell编程系列(三)-- 运算符

    前言 在上一篇文章Shell编程系列(二)-- Bash 变量中, 我们学习了Shell编程中的变量相关的知识。...

  • shell(2)变量的核心基础知识与实践

    shell(2)变量的核心基础知识与实践 什么是shell变量 变量就是用一个固定的字符串(也可能是字符、数字等的...

  • shell(2)变量的核心基础知识与实践

    shell(2)变量的核心基础知识与实践 什么是shell变量 变量就是用一个固定的字符串(也可能是字符、数字等的...

网友评论

      本文标题:测试工程师需要了解的shell变量知识

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