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给用户
MAILCHECKSHELL检查MAIL文件的周期,单位是秒
MAILPATH功能与MAIL类似.但可以用一组文件,以冒号分隔,每个文件后可跟一个问号和一条发向用户的消息
SHELLSHELL的路径名
TERM终端类型
TMOUTSHELL自动退出的时间,单位为秒,若设为0则禁止SHELL自动退出
PROMPT_COMMAND指定在主命令提示符前应执行的命令
PS1主命令提示符
PS2二级命令提示符,命令执行过程中要求输入数据时用
PS3select的命令提示符
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,若包含空白符,则需引号
冬天已经到来,春天还会远吗?