Bash几个环境变量的妙用

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

Bash 是 GNU/Linux 默认的 Shell 。和 Bourne shell (sh) 兼容,而且采取了 Korn shell (ksh) 和 C shell (csh) 的特色,符合 IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools 标准。本文介绍的是几个环境变量,能给您的日常操作带来的便捷。

* $CDPATH 这个变量的作用和 PATH 类似,但是不是用在命令搜索上,而是用在 cd 命令的路径搜索上,例如:

$ export CDPATH=.:~:~/docs:~/src:~/src/ops/docs:/mnt:/usr/src/redhat:/usr/src/redhat/RPMS:/usr/src:/usr/lib:/usr/local:/software:/software/redhat

我们如果用 cd i386 命令,就可以进入 /usr/src/redhat/RPMS/i386 目录。

* $HISTIGNORE 这个变量用于避免重复的命令以及没有用的命令进入命令历史表,免去了很多次按向上的箭头键寻找上一个不同命令的麻烦,例如:

$ export HISTIGNORE="&:ls:ls *:mutt:[bf]g:exit"

这个例子会剔除 ls 和 mutt 和 bg/fg 等命令不进入命令历史表。

* $TMOUT 这个命令能让你在多少秒之内退出当前的 bash 环境,如果这段时间内一直没有接收到输入。这在那些粗心的 root 用户忘记退出时十分有用。

另外 set ignoreeof 能屏蔽 Ctrl-D 的退出功能。

shopt cmdhist 能让多行命令在命令历史中成为一行。

shopt extglob 能在命令行采用扩充的正则表达式:

?(pattern-list) 匹配零个或一个模式。

*(pattern-list) 匹配零个或多个模式。

+(pattern-list) 匹配一个或多个模式。

@(pattern-list) 确切匹配模式。

!(pattern-list) 匹配除指定模式以外的任何字符。

例如:ls -lad !(*.p?(df|s)) 将列出 当前目录下非 pdf 和 ps 文件。

在 /etc/inputrc 或 ~/.inputrc 中加入:

set show-all-if-ambiguous on

只要按一次 Tab 就可以列出可以运行的命令。

同样的文件中加入

set visible-stats on

就可以列出所有文件的状态,就像 ls -F 一样。

bash 2.05-12 以后版本的 RPM 文件 下载 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航