Linux Shell 环境变量
shell 环境变量是所有shell 程序都会接受的参数。shell程序运行时,都会接收一组变量,这组变量就是环境变量。常用的环境变量:
名称 | 描述 |
PATH | 命令搜索路径,以冒号为分隔符.注意与DOS下不同的是, 当前目录不在系统路径里 |
HOME | 用户home目录的路径名,是cd命令的默认参数 |
COLUMNS | 定义了命令编辑模式下可使用命令行的长度 |
EDITOR | 默认的行编辑器 |
VISUAL | 默认的可视编辑器 |
FCEDIT | 命令fc使用的编辑器 |
HISTFILE | 命令历史文件 |
HISTSIZE | 命令历史文件中最多可包含的命令条数 |
HISTFILESIZE | 命令历史文件中包含的最大行数 |
IFS | 定义SHELL使用的分隔符 |
LOGNAME | 用户登录名 |
指向一个需要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,若包含空白符,则需引号 |