美文网首页
shell中的内建命令, 函数和外部命令

shell中的内建命令, 函数和外部命令

作者: Leslie_an | 来源:发表于2018-06-07 16:30 被阅读0次

Shell识别三种基本命令:内建命令、Shell函数以及外部命令:
(1)内建命令就是由Shell本身所执行的命令。
有些命令是由于其必要性才内建的,例如cd用来改变目录,read会将来自用户(和文件)的输入数据传给Shell外亮。
另一种内建命令的存在则是为了效率,其中最典型的就是test命令,编写脚本时经常会用到它。另外还有I/O命令,例如echo于printf.
(2)Shell函数是功能健全的一系列程序代码,以Shell语言写成,它们可以像命令那样引用。
(3)外部命令就是由Shell副本(新的进程)所执行的命令,基本的过程如下:
a. 建立一个新的进程。此进程即为Shell的一个副本。
b. 在新的进程里,在PATH变量内所列出的目录中,寻找特定的命令。
/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin为PATH变量典型的默认值。
当命令名称包含有斜杠(/)符号时,将略过路径查找步骤。
c. 在新的进程里,以所找到的新程序取代执行中的Shell程序并执行。
d. 程序完成后,最初的Shell会接着从终端读取下一条命令,和执行脚本里的下一条命令。

使用type可以查看是否是内建命令:
type (不带参数)会显示命令是内建命令还是外部命令
-t :file 外部命令;alias 命令别名;builtin 内置命令
-a :会将命令PATH路径显示出来
如何执行交互式命令:
用户在命令行输入命令后,一般情况下Shell会fork并exec该命令,但是Shell的内建命令例外,执行内建命令相当于调用Shell进程中的一个函数,并不创建新的进程.
比如:cd、alias、umask、exit等命令即是内建命令,凡是用which命令查不到程序文件所在位置的命令都是内建命令,内建命令没有单独的man手册,要在man手册中查看内建命令,应该man bash-builtins,内建命令虽然不创建新的进程,但也会有Exit Status,通常也用0表示成功非零表示失败,虽然内建命令不创建新的进程,但执行结束后也会有一个状态码,也可以用特殊变量$?读出

相关文章

  • shell 命令

    Linux shell执行命令有三种: 内建命令, shell函数和外部命令 内部命令: shell程序本身包含的...

  • shell中的内建命令, 函数和外部命令

    Shell识别三种基本命令:内建命令、Shell函数以及外部命令:(1)内建命令就是由Shell本身所执行的命令。...

  • 【shell笔记>命令|变量】理解内建命令与环境变量

    2017.6.29 理解shell内建命令 理解内建命令和外部命令非常重要。相比之下,外部命令使用成本更高。 外部...

  • Shell脚本(中)

    shell 数组 shell内建命令 通常来说,内建命令会比外部命令执行得更快,执行外部命令时不但会触发磁盘 I/...

  • 第八节Linux下的帮助命令

    一、内建命令与外部命令 1、内建命令: shell程序一部分,命令简单,系统加载时shell被加载并驻留在内存中...

  • Linux 系统上命令的使用格式

    <1> 命令的使用格式1 、命令分为内部命令和外部命令:内建命令:由 shell 自带的,而且通过某命令形式提供;...

  • Linux第八节帮助命令

    一、内建命令与外部命令 有一些查看帮助的工具在内建命令与外建命令上是有区别对待的。 内建命令实际上是 shell ...

  • Linux下的帮助命令

    1、内建命令与外部命令 内建命令 内建命令实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统...

  • Linux下的帮助命令

    一,内命建令与外部命令 内建命令:内建命令是 shell 程序的一部分,包含比较简单的 Linux 系统命令。通常...

  • Linux中的帮助命令

    一、内建命令与外部命令 内建命令内建命令实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统命...

网友评论

      本文标题:shell中的内建命令, 函数和外部命令

      本文链接:https://www.haomeiwen.com/subject/cahgsftx.html