红联Linux门户
Linux帮助

bash shell 内建命令

发布时间:2010-01-02 21:40:52来源:红联作者:alexander1984
刚开始学习Linux,关于bash shell内建命令有点不知道是什么东西。
今天在一本书上看到:“?了方便 shell 的操作,其? bash 已?『?建』了很多指令了,例如上面提到的 cd , ?有例如 umask 等等的指令,都是?建在 bash ?中的呢!”
那么有几点不明白的:
1.为什么要有内建命令
2.内建命令和非内建命令的运行方式分别是什么样的呢
3.用途有什么不同

希望大家来指点指点。。。。
文章评论

共有 10 条评论

  1. two__fishes 于 2010-01-04 10:40:28发表:

    建议你先不要这么理解!

  2. alexander1984 于 2010-01-03 22:58:35发表:

    谢谢大家的指点,自己也研究了下。暂时得到的理解大概是这样的:
    1.我们从一个Shell脚本的内部执行两种类型的命令。也就是通常(normal)的命令,这样的命令我们也可以在命令行的方式下来运行,称为处部命令,另一种就是我们前面所说的内建(built-in)命令,称之为内部命令。内建命令是在Shell的内部来实现的而不能为外部程序所调用。然而大多数的内部命令也会作为相对独立的单一程序来提供,而这也是POSIX 标准所要求的一部分。通常来说内部命令与外部命令并没有太大的区别,除非是这个内部运行得更为高效。
    2.当内建的命令的名字被用作一个简单命令的第一个词时,shell 直接执行那个命令,而不创建新的进程。
    3.在一般情况下,当某个脚本程序执行一个外部命令或脚本的时候,会创建一个新的执行环境(子shell),命令就在这个新环境里被执行. 子环境会在执行完毕后丢弃,只留下退出码返回给上级shell.

  3. 一米短绳 于 2010-01-03 12:50:19发表:

    man bash

  4. qing_dc 于 2010-01-03 09:11:16发表:

    在不同层而已

  5. return 于 2010-01-03 07:00:04发表:

    同上

  6. alick 于 2010-01-02 23:25:20发表:

    好像就是内建的调用效率更高些

  7. two__fishes 于 2010-01-02 22:31:35发表:

    1:bash shell内建命令好像是为了提高效率和增强功能,这一点主要是针对标准shell来讲的。
    2:这个问题可大可下,要深究的话还是看看书吧。
    3:用途应该差不多。
    顺便建议你了解一下shell的作用和含义以及各版本的大概区别

  8. alexander1984 于 2010-01-02 22:01:11发表:

    3# daixlon


    那么还想问一下,系统指令和非系统指令在调用时候有什么异同么?。。。。对不起,操作系统没有学好

  9. daixlon 于 2010-01-02 21:57:29发表:

    应该说是系统的指令吧

  10. alexander1984 于 2010-01-02 21:57:12发表:

    在线等ing....