学科分类
目录
Linux编程

Shell的命令执行流程

Shell对命令的解释过程如图1所示:

图1 命令解释过程

当用户输入一个命令后,Shell首先判断该命令是否为内置命令,若是,则通过Shell内部的解释器将该命令解释为系统功能调用,并转交给内核执行,此过程相当于调用Shell进程中的一个函数,不会创建新进程;若该命令为外部命令或实用程序,则Shell会尝试在硬盘中查找该命令,若找到,将其调入内存,解释为系统功能并转交给内核执行;若没找到,则输出提示信息。

在查找外部命令时有两种情况:用户给出命令路径,则按照给出的路径查找;用户未给出路径,则在环境变量PATH所指定的路径中进行查找。环境变量PATH的信息可以使用“echo $PATH”命令查看,示例如下:

[itheima@localhost ~]$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/itheima
/bin
点击此处
隐藏目录