two__fishes 于 2010-01-04 10:40:28发表:
建议你先不要这么理解!
alexander1984 于 2010-01-03 22:58:35发表:
谢谢大家的指点,自己也研究了下。暂时得到的理解大概是这样的: 1.我们从一个Shell脚本的内部执行两种类型的命令。也就是通常(normal)的命令,这样的命令我们也可以在命令行的方式下来运行,称为处部命令,另一种就是我们前面所说的内建(built-in)命令,称之为内部命令。内建命令是在Shell的内部来实现的而不能为外部程序所调用。然而大多数的内部命令也会作为相对独立的单一程序来提供,而这也是POSIX 标准所要求的一部分。通常来说内部命令与外部命令并没有太大的区别,除非是这个内部运行得更为高效。 2.当内建的命令的名字被用作一个简单命令的第一个词时,shell 直接执行那个命令,而不创建新的进程。 3.在一般情况下,当某个脚本程序执行一个外部命令或脚本的时候,会创建一个新的执行环境(子shell),命令就在这个新环境里被执行. 子环境会在执行完毕后丢弃,只留下退出码返回给上级shell.
一米短绳 于 2010-01-03 12:50:19发表:
man bash
qing_dc 于 2010-01-03 09:11:16发表:
在不同层而已
return 于 2010-01-03 07:00:04发表:
同上
alick 于 2010-01-02 23:25:20发表:
好像就是内建的调用效率更高些
two__fishes 于 2010-01-02 22:31:35发表:
1:bash shell内建命令好像是为了提高效率和增强功能,这一点主要是针对标准shell来讲的。 2:这个问题可大可下,要深究的话还是看看书吧。 3:用途应该差不多。 顺便建议你了解一下shell的作用和含义以及各版本的大概区别
alexander1984 于 2010-01-02 22:01:11发表:
3# daixlon 那么还想问一下,系统指令和非系统指令在调用时候有什么异同么?。。。。对不起,操作系统没有学好
daixlon 于 2010-01-02 21:57:29发表:
应该说是系统的指令吧
alexander1984 于 2010-01-02 21:57:12发表:
在线等ing....
two__fishes 于 2010-01-04 10:40:28发表:
建议你先不要这么理解!
alexander1984 于 2010-01-03 22:58:35发表:
谢谢大家的指点,自己也研究了下。暂时得到的理解大概是这样的:
1.我们从一个Shell脚本的内部执行两种类型的命令。也就是通常(normal)的命令,这样的命令我们也可以在命令行的方式下来运行,称为处部命令,另一种就是我们前面所说的内建(built-in)命令,称之为内部命令。内建命令是在Shell的内部来实现的而不能为外部程序所调用。然而大多数的内部命令也会作为相对独立的单一程序来提供,而这也是POSIX 标准所要求的一部分。通常来说内部命令与外部命令并没有太大的区别,除非是这个内部运行得更为高效。
2.当内建的命令的名字被用作一个简单命令的第一个词时,shell 直接执行那个命令,而不创建新的进程。
3.在一般情况下,当某个脚本程序执行一个外部命令或脚本的时候,会创建一个新的执行环境(子shell),命令就在这个新环境里被执行. 子环境会在执行完毕后丢弃,只留下退出码返回给上级shell.
一米短绳 于 2010-01-03 12:50:19发表:
man bash
qing_dc 于 2010-01-03 09:11:16发表:
在不同层而已
return 于 2010-01-03 07:00:04发表:
同上
alick 于 2010-01-02 23:25:20发表:
好像就是内建的调用效率更高些
two__fishes 于 2010-01-02 22:31:35发表:
1:bash shell内建命令好像是为了提高效率和增强功能,这一点主要是针对标准shell来讲的。
2:这个问题可大可下,要深究的话还是看看书吧。
3:用途应该差不多。
顺便建议你了解一下shell的作用和含义以及各版本的大概区别
alexander1984 于 2010-01-02 22:01:11发表:
3# daixlon
那么还想问一下,系统指令和非系统指令在调用时候有什么异同么?。。。。对不起,操作系统没有学好
daixlon 于 2010-01-02 21:57:29发表:
应该说是系统的指令吧
alexander1984 于 2010-01-02 21:57:12发表:
在线等ing....