Linux Shell 环境变量
shell 环境变量是所有shell 程序都会接受的参数。shell程序运行时,都会接收一组变量,这组变量就是环境变量。常用的环境变量:
名称
描述
PATH
命令搜索路径,以冒号为分隔符.注意与DOS下不同的是, 当前目录不在系统路径里
HOME
用户home目录的路径名,是cd命令的默认参数
COLUMNS
定义了命令编辑模式下可使用命令行的长度
EDITOR
默认的行编辑器
VISUAL
默认的可视编辑器
FCEDIT
命令fc使用的编辑器
HISTFILE
命令历史文件
HISTSIZE
命令历史文件中最多可包含的命令条数
HISTFILESIZE
命令历史文件中包含的最大行数
IFS
定义SHELL使用的分隔符
LOGNAME
用户登录名
MAIL
指向一个需要SHELL监视其修改时间的文件.当该文件修改后, SHELL将发消息You hava mail给用户
MAILCHECK
SHELL检查MAIL文件的周期,单位是秒
MAILPATH
功能与MAIL类似.但可以用一组文件,以冒号分隔,每个文件后可跟一个问号和一条发向用户的消息
SHELL
SHELL的路径名
TERM
终端类型
TMOUT
SHELL自动退出的时间,单位为秒,若设为0则禁止SHELL自动退出
PROMPT_COMMAND
指定在主命令提示符前应执行的命令
PS1
主命令提示符
PS2
二级命令提示符,命令执行过程中要求输入数据时用
PS3
select的命令提示符
PS4
调试命令提示符
MANPATH
寻找手册页的路径,以冒号分隔
LD_LIBRARY_PATH
寻找库的路径,以冒号分隔
参数形式
扩展后
x{y,z}
xy xz
${x}{y, z}
${x}y ${x}z
${x}{y, $z}
${x}y ${x}${z}
${param#pattern}
从param前面最小删除pattern的匹配
${param##pattern}
从param前面最大删除pattern的匹配
${param%pattern}
从param后面最小删除pattern的匹配
${param%%pattern}
从param后面最大删除pattern的匹配
${param/pattern/string}
从param中用string替换pattern的第一次匹配,string可为空
${param//pattern/string}
从param中用string替换pattern的所有匹配,string可为空
${param:3:2}
截取$param中索引3开始的2个字符
${param:3}
截取$param中索引3至末尾的字符
${@:3:2}
截取参数列表$@中第3个开始的2个参数
${param:-word}
若$param为空或为设置,则参数式返回word,$param不变
${param:+word}
若$param为非空,则参数式返回word,$param不变
${param:=word}
若$param为空或为设置,则参数式返回word,同时$param设置为word
${param:?message}
若$param为空或为设置,则输出错误信息message,若包含空白符,则需引号