Linux Shell 环境变量及参数扩展与模式匹配

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,若包含空白符,则需引号

冬天已经到来,春天还会远吗?

Linux Shell 环境变量及参数扩展与模式匹配

相关文章:

你感兴趣的文章:

标签云: