shell 变量

变量

  • 本地变量
    在当前系统的某个环境下才能生效的变量,作用范围小。
    • 普通变量
      常用定义:变量名="变量值"
    • 命令变量
      常用定义:变量名=$(命令)
      意义:
      1 执行`或者$()范围内的命令
      2 将命令执行后的结果,赋值给新的变量名A
  • 全局变量
    当前shell以及其派生出来的子shell中都有效的变量
    env                # 显示全局变量
    
  1. 常用定义:
     方法一:
              变量=值
              export 变量
     方法二:(最常用)
              export 变量=值
    
  • 内置变量
    $0      获取当前执行的shell脚本文件名,包括脚本路径
      #!/bin/bash
      # 获取脚本的名称
      echo "我脚本的名称是: file.sh"
      echo "我脚本的名称是:$0"
    $n      获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名,如果n大于9就要用大括号括起来${10}
      #!/bin/bash
      # 获取指定位置的参数
      echo "第一个位置的参数是: $1"
      echo "第二个位置的参数是: $2"
      echo "第三个位置的参数是: $3"
      echo "第四个位置的参数是: $4"
    $#      获取当前shell命令行中参数的总个数
      # cat num.sh 
      #!/bin/bash
      # 获取当前脚本传入的参数数量
      echo "当前脚本传入的参数数量是: $#"
    $?      获取执行上一个指令的返回值(0为成功,非0为失败)
      # bash nihao
      bash: nihao: No such file or directory
      # echo $?
      127
      # ls
      file1.sh  num.sh  test.sh  weizhi.sh
      # echo $?
      0
    
    

查看变量

  1. 常用方法:
     方法一:
             $变量名   # 在命令行/脚本中使用
     方法二:
             "$变量名"  # 在命令行/脚本中使用
     方法三:
             ${变量名}  # echo " hello ${变量名} world " 使用频率较高
     方法四:
             "${变量名}"  # 标准使用方式
    

取消变量

 unset 变量名

你可能感兴趣的:(shell 变量)