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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/26161.html