shell 脚本学习之内部变量

 

一,$BASH

    Bash的二进制程序文件的路径

  

 

二,$BASH_ENV

    这个环境变量会指向一个Bash的启动文件, 当一个脚本被调用的时候, 这个启动文件将会被读取.

 

三,$BASH_SUBSHELL

    这个变量用来提示子shell的层次

四, $BASH_VERSINFO[n]

    这是一个含有6个元素的数组, 它包含了所安装的Bash的版本信息    

    # BASH_VERSINFO[0] = 3                      # 主版本号.
    # BASH_VERSINFO[1] = 00                     # 次版本号.
    # BASH_VERSINFO[2] = 14                     # 补丁次数.
    # BASH_VERSINFO[3] = 1                      # 编译版本.
    # BASH_VERSINFO[4] = release                # 发行状态.
    # BASH_VERSINFO[5] = i386-redhat-linux-gnu  # 结构体系
  
五,$BASH_VERSION

    

    安装在系统上的bash版本号

六,$DIRSTACK

    在目录栈中最顶端的值.

 

七,$EDITOR

    脚本所调用的默认编辑器, 通常情况下是vi或者是emacs.

 

八,$EUID

    "有效"用户ID

 

九,$FUNCNAME

    当前函数的名字

    

    

十,$GLOBIGNORE

一个文件名的模式匹配列表, 如果在通配(globbing)中匹配到的文件包含有这个列表中的某个文件, 那么这个文件将被从匹配到的结果中去掉.  

  
十一,$GROUPS 
  
  这是一个当前用户的组id列表(数组), 与记录在/etc/passwd文件中的内容一样.
十二,$HOME
   用户的家目录
   
十三,$HOSTNAME 
       
    

十四, $HOSTTYPE

    主机类型

    

十五,$IFS

   域分割

    

    

 

 十六, $IGNOREEOF

    忽略EOF: 告诉shell在log out之前要忽略多少文件结束符(control-D).

十七, $LC_COLLATE

    常在.bashrc/etc/profile中设置, 这个变量用来控制文件名扩展和模式匹配的展开顺序

十八,$LINENO
 
   这个变量用来记录自身在脚本中所在的行号.调试的时候用
十九,$MACHTYPE
    
    机器类型
    

 二十,$OLDPWD

    之前的工作目录

    

二十一,$OSTYPE

    操作系统类型

    

 

 二十二,$PATH

    可执行文件的操作路劲,,及环境变量
    
    

    

二十三,$PIPESTATUS

    这个数组变量将保存最后一个运行的前台管道的退出状态码 相当于echo $?

    

 

二十四,$PPID

    进程的$PPID就是这个进程的父进程的进程ID(pid)

    

二十五,$PROMPT_COMMAND

    这个变量保存了在主提示符$PS1显示之前需要执行的命令

    

二十六,$PS1

     这是主提示符,

    

二十七,$PS2

    第二提示符, 当你需要额外输入的时候, 你就会看到它. 默认显示">".

     

二十八,$PS3

     第三提示符, 它在一个select循环中显示

二十九,$PS4

第四提示符, 当你使用-x选项来调用脚本时, 这个提示符会出现在每行输出的开头. 默认显示"+".

 三十,$PWD

    工作目录(你当前所在的目录)

    

三十一,$REPLY

     当没有参数变量提供给read命令的时候, 这个变量会作为默认变量提供给read命令

 

三十二,$SECONDS    

     这个脚本已经运行的时间(以秒为单位).

 三十三, $SHELLOPTS

    shell中已经激活的选项的列表, 这是一个只读变量.

    

三十四,$SHLVL

    Shell级别, 就是Bash被嵌套的深度. 如果是在命令行中, 那么$SHLVL为1, 如果在脚本中那么$SHLVL为2

     

三十五,$TMOUT

     如果$TMOUT环境变量被设置为非零值time的话, 那么经过time秒后, shell提示符将会超时. 这将会导致登出(logout).

 三十六,$UID

    用户ID号

     

 

 

 

    

posted on 2018-08-20 21:38  kingle-l  阅读(446)  评论(0编辑  收藏  举报

levels of contents