Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59557
  • 博文数量: 14
  • 博客积分: 705
  • 博客等级: 上士
  • 技术积分: 157
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 21:46
文章分类
文章存档

2011年(1)

2009年(6)

2008年(7)

我的朋友

分类: LINUX

2009-09-02 16:11:10

原文作者:,

用ubuntu的时候,如果你在命令行里输入一个未安装的命令,bash会给出很人性化的提示,让你先安装xxx软件包,比如:

程序 'xxx' 尚未安装。  您可以通过输入以下命令安装:
sudo apt-get install xxx

其实gentoo下也是可以做类似提示的.


gentoo早就已经默认是 bash 4.x 了,这个版本的bash,在找不到命令的时候,会试着调用 command_not_found_handle 这个函数,也就是说,只要你在什么地方定义了这个函数,就可以实现人性化的提示.再联想到之前我整的,一切都是这么简单,哈哈~
在 ~/.bashrc 里加上如下几行:

if echo "`uname -a`" | grep gentoo >/dev/null ; then
#由于我的.bashrc是ubuntu和gentoo共用的,所以这里还有些gentoo特有的alias...下面几行才是关键.
command_not_found_handle () {
echo "-bash: $1: command not found"
e-file $1
}
else
#ubuntu的alias....
fi
当然,这之前肯定要先安装e-file,如果你已经加了gentoo-china的overlay,可以直接 emerge e-file
阅读(807) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~