行业动态

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

  什么是变量

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

  普通变量:

  单引号:原字符输出,变量名=‘变量值’

  shell name='tom'

  shell echo $name

  tom

  双引号:变量名=“变量值”,看一下值当中有没有对其他变量的引用,如果有就获取变量值然后组合到一起输出

  shell word="I am $name"

  shell echo $word

  I am tom

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

  直接命名不加任何引号:变量名=变量值

  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就要用大括号括起来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变量知识,本文由多测师亲自撰写,希望对大家有所帮助。了解更多软件测试相关知识:https://www.duoceshi.com/xwzx-hydt/

新闻资讯

联系我们

联系人:王女士

手机:17727591462

电话:0755-21072941

邮箱:hr@duoceshi.com

地址: 广东省深圳市龙华区龙华街道清湖和平路62号优鼎企创园D栋201室,202室

用手机扫描二维码关闭
二维码