Bash内置变量

来源:岁月联盟 编辑:exp 时间:2011-09-13

BASH内置变量
(1).BASH
   作用:bash的完整路径.默认为/bin/bash
(2).BASH_ENV
   作用:仅在非交互模式中适用.在执行shell脚本时,会先检查该变量是否指定了启动
        脚本,若指定则先执行它指定的启动脚本.
(3).BASH_VERSION
   作用:bash的版本号
 
   实例:echo $BASH_VERSION
(4).CDPATH
   作用:cd的搜索路径,多个路径用':'隔开
   实例:  CDPATH="/tmp/A/B:/var/log"
          (假设当前目录为/home/example)
          mkdir -p /tmp/A/B/C
          cd C  #默认cd会先在当前目录中查找是否存在C目录,若不存在则会在CDPATH变量指定的路径中查找,会进入/tmp/A/B/C
(5).EUID
   作用:有效的使用者的UID.
(6).FUNCNAME
   作用:在函数执行期间,该变量的值为函数名
   实例:
        hello()
        {
            echo "这个函数名为$FUNCNAME"
         }
        hello  #结果显示为"这个函数名为hello"
(7).HISTFILE
   作用:指定历史脚本文件的路径,通常为~/.bash_history
(8).HISTFILESIZE
   作用:设定历史文件的存储的最大指令数
(9).HISTIGNORE
   作用:指定不存入历史脚本文件的指令序列,多个指令用':'隔开
   实例: HISTIGNORE=ls:ps:cd:t*:/&
   说明:上面指定不存储到历史脚本中的指令有ls,ps,cd,和以t开头的指令,以及后台指令(/&)
(10).HOME
    作用:设置用户的主目录,用以替换为~的值
(11).HOSTNAME
 
    作用:设置主机名
(12).HOSTTYPE
    作用:设置主机的类型
(13).IFS
    作用:定义字段分隔符,默认为:空白符(空格,tab,换行)
    实例:
         MY="1:2:3:4:5"
         IFS=:
         for i in $MY;do
            echo $i
         done
    结果:
         1
         2
         3
         4
         5
(14).INPUTRC
   
    作用:设定命令行函数或库readline的启动配置文件,可覆盖~/.inputrc的设定
(15).LANG
    作用:设置当前语系的名称
(16).LC_ALL
    作用:设置当前的locale,可覆盖LANG和LC_*的设置
(17).LC_CTYPE
    作用:设置locale的字符分类
(18).MACHTYPE
 
    作用:描述主机形态的GNU格式:  CPU-公司-系统
    实例:  echo $MACHTYPE  #i686-pc-linux-gnu
(19).OLDPATH
    作用:前一个工作目录
    实例:cd -  等价  cd $OLDPATH
(20).PATH
    作用:设置外部命令的搜索路径,多个以':'隔开
(21).PPID
 
    作用:父进程的PID
(22).PS1(这个是数字1)
    作用:设置主提示符号,默认为/s-/v/$
(23).PS2
    作用:设置次提示符号,默认为 >
(24).PS3
    作用:设置select的提示符,默认为  #?
(25).PWD
    作用:当前的工作目录
    实例:  echo $PWD 等价 pwd
(26).SECONDS
    作用:显示当前shell的启动的时间(单位:s)
    实例:echo $SECONDS
(27).SHELL
    作用:当前使用的shell名,默认为/bin/bash
(28).TMOUT
    作用:若该变量的值大于0的话,则bash会在等待TMOUT秒后还没有任何操作就会自动结束当前的bash shell.
    实例:
 
          echo 'TMOUT=600'>>/etc/profile  #在10min内没有任何操作的话则自动注销当前系统
(29).UID
    作用:用户ID号
(30).$1,$2,...,$N
    作用:位置参数,当超过9时用${N}来表示。
(31).$$
    作用:当前的进程号
    实例:echo $$
(32).$?
    作用:上一个命令的退出状态
    实例:echo $?
    说明:一般使用这个变量来判断上一个命令是否正确执行,一般来说当该值为0时表示上一个命令正确执行,否则没有正确执行
(33).$#
     作用:位置参数的个数
(34).$!
     作用:上一个后台执行程序的进程ID号。
     实例:  top &  #假设他的PID为2112
            echo $!  #结果为2112
作者“huangyandong”