I am LAZY bones ? all linux

gentoo也可以提示未安装的命令

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

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

其实gentoo下也是可以做类似提示的.
gentoo早就已经默认是 bash 4.x 了,这个版本的bash,在找不到命令的时候,会试着调用 command_not_found_handle 这个函数,也就是说,只要你在什么地方定义了这个函数,就可以实现人性化的提示.再联想到之前我整的e-file,一切都是这么简单,哈哈~
在 ~/.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" >&2
		e-file $1 >&2
	}
else
	#ubuntu的alias....
fi

当然,这之前肯定要先安装e-file,如果你已经加了gentoo-china的overlay,可以直接 emerge e-file
最终效果贴个图(我是gnome,没装kdevelop):
command_not_found_handle效果图

最后修改时间: 2010年03月08日 12:40

本文章发表于: 2009年07月02日 09:45 | 所属分类:e-file, 经验技巧. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

10 个评论 关于: “gentoo也可以提示未安装的命令”

  1. oceanboo 在 2009年07月02日 09:52 说:回复

    赞骨头一下。

  2. young001 在 2009年07月02日 12:47 说:回复

    想法很好,暑假装gentoo的时候用,哈哈

  3. xiooli 在 2009年07月02日 15:34 说:回复

    好主意,将arch也添加上类似功能了!

    • bones7456 在 2009年07月02日 17:51 说:回复

      arch有类似 e-file 或者 apt-file 的东西不?

      • xiooli 在 2009年07月02日 20:57 说:回复

        暂时末有,先用pacman -Si代替了。

      • xiooli 在 2009年07月02日 21:07 说:回复

        哈哈,刚刚找到一个pac-file,就是干这个滴,^^

  4. Gentoo也可以提示未安装的命令 | Linux桌面中文网 在 2009年07月03日 13:45 说:回复

    […] 原文作者:bones7456,gentoo也可以提示未安装的命令 […]

  5. TualatriX 在 2009年07月03日 13:46 说:回复

    骨头太强了!
    我已经共享出去了,哈哈。

    • bones7456 在 2009年07月03日 15:12 说:回复

      哦,哦,这文章也上了LDCN了哦?

  6. shuge.lee 在 2009年07月04日 02:28 说:回复

    赞骨头一下

发表评论