linux如何理解内部命令,修改LINUX中的内部命令

修改LINUX中的内部命令- -

Bash shell 2.0 是Linux中最常见的shell,你想知道我们怎样在Bash shell 中加入自己的

命令吗?按照下面的步骤,我们就可以在Bash shell 中随心所欲地加入我们自己的命令。

一 概述

Bash shell的命令分为两类,一类是外部命令,通过系统调用或独立的程序实现。另一类就

是我们所要关心的内部命令(BUILTINS 命令),此类命令是由一特殊的文件 (.def)格式所

实现的。我们所熟悉的命令如help ,cd ,history等都是此类命令。在网上下载Bash shell

2.0的软件包,用TAR 命令解开后,你会发现其目录下有一名为builtin的目录,进入到此目

录下,就会看到许多扩展名为def的文件,例如help.def,cd.def 等等。由这些def文件产生

同名的.c文件,即help.c由help.def产生,由此再生成 help内部命令。我们就是通过修改这

些def文件来增加我们自己的命令。

二 方法

1、用任意的编辑器(如在WIN98下ULTRAEDIT等等)打开一个DEF文件。让我们就以HELP.DEF

为例,你会发现他和普通的c++原程序文件大同小异,只不过多了几个特殊的部分。下面我将

建立一个非常简单的命令hello,以此命令为例,说明增加内部命令的步骤。命令hello的 D

EF 原文件如下:

This is an example of builtin_command

$PRODUCES hello.c

$BUILTIN hello

$FUNCTION hello_builtin

$DEPENDS_ON HELLO_BUILTIN

$SHORT_DOC hello : this command will print "hello new world !" in your compute

r.

$END

int hello_builtin()

{

printf(" hello new world !");

return (EXECUTION_SUCCESS);

}

这个例子在LINUX REDHAT 5.0的BASH 2.0上经过验证。

读者可以很清楚地看到,这些特殊的部分就是$BUILTIN, $ PRODUCES ,$FUNCTION等关键字,

它们的意思很明确,$BUILTIN hello表明内部命令是hello。

$FUNCTION hello_builtin 表明执行的功能程序是hello_builtin().$SHORT_DOC 表明命令的

一个简短说明,以便帮助使用。

2、在编写完DEF文件之后,就需要修改MakeFile文件,在Builtins 目录下,你将会发现Make

File和MakeFile.in 这两个文件,存放着编译信息,分别用编辑器打开这两个文件,在以下

几处作修改:

(1)在"DEFSRC = "处增加一项$(srcdir)/hello.def 注意要以空格和其他项分开。

(2) 在"OFILES = "处增加一项hello.o(为LINUX的可执行文件)

(3) 查找"cd.o : cd.def",在其下面增加一项hello.o : hello.def

建议MakeFile文件的修改最好在LINUX环境下进行。

同理,将bash2.0目录下的MakeFile 和MakeFile.in文件也做以上的修改,即可。

3、在LINUX环境中,你要首先以超级用户登录,在BASH2.0的目录下,依次键入以下命令:

# config

# make

# install

这样就将修改过的BASH2.0安装到本机上了。这时你可以键入命令hello了。

三 用途

以上仅仅举了一个很小的例子,无实际用途,但是如果你想修改你的LINUX系统,或者需要一

个专有的操作系统,何不试试这种方法,会方便快捷许多的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值