shell获取参数个数_Shell位置变量和预定义变量

  • Post author:
  • Post category:其他



位置变量介绍

      • 当我们执行一个Shell脚本的时候,如果希望命令行的到我们传递的参数信息,就要使用位置变量进行,如:./myshell.sh 100 200 可以理解为shell脚本的传参方法
  • 基本的语法

      • $n:n为数字,$0表示命令本身(执行脚本的命令)、$1-9代表第一个参数到第九个参数,十以上的参数需要使用大括号进行包裹如:${10}
      • $*:将这个命令行的参数看成一个整体
      • $@:代表参数的整体,不过$@把每个参数区分对待
      • $#:代表参数的个数
  • 实例演示
  • 两个的信息对照看
7793e3717b67f9374e088394dcb0a3df.png

2b3f9e60c8b0b57b2f7e1a22a5e75373.png


预定义变量


  • 预定义变量的

      • 就是Shell内已经设置好的变量可以直接使用常用的如下
      • $$:获取当前的进程号(PID)
      • $!:获取最后执行的进程号(PID)
      • $?:获取最后一次执行命令的状态,如果是0则是无异常,如果是其他的数字则是有异常的发生具体的值由系统决定
      • &:代表使用后台的方式进行运行命令
3926475f2a1faa71f90e31419b91f2f2.png

  • 发现结果的输出顺序不是按照预想的输出的不知道什么原因?希望有大佬可以解释一下
46771a2d5085007d9728d6c8dc4ec12b.png



版权声明:本文为weixin_42412396原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。