shell 执行命令的步骤:命令解析:分词、扩展变量、路径扩展命令搜索:搜索可执行文件路径创建进程:加载可执行文件,创建子进程输入/输出重定向:根据重定向符号设置输入/输出流管道:创建管道,连接前一个命令输出到后一个命令输入命令执行:子进程执行命令逻辑,读入数据、处理数据、输出结果命令终止:子进程返回退出状态码,shell 接收并传递给父进程
shell如何执行一个命令
命令解析
shell收到用户输入的命令后,首先对其进行解析,包括以下步骤:
- 分词(tokenization):将命令行分成一个个独立的单词(令牌)。
- 扩展变量:替换命令行中以 $ 开头的变量名。
- 路径扩展:替换命令行中没有路径前缀的命令名,使其指向可执行文件。
命令搜索
解析完命令后,shell会搜索可执行文件。它按照以下顺序搜索:
- 当前目录
- PATH 环境变量指定的目录
创建进程
找到可执行文件后,shell会创建子进程并加载可执行文件。该进程将运行该命令。
输入/输出重定向
如果命令行包含输入/输出重定向符号(如 、>>),shell会将子进程的标准输入/输出重定向到指定的文件或管道。
管道
如果命令行包含管道符号(|),shell会将前一个命令的输出作为后一个命令的输入。它通过创建一个管道,一个进程的输出流到另一个进程的输入流。
命令执行
创建子进程并完成重定向后,shell将控制权交给该子进程,让它执行命令。子进程将执行以下步骤:
- 读取输入:从标准输入读取数据。
- 处理数据:按照命令的逻辑对数据进行处理。
- 写出输出:将结果写到标准输出或错误输出。
命令终止
命令执行完成后,子进程将返回退出状态码,表示其执行是否成功。shell会接收该状态码并将其传递给父进程。
以上就是shell如何执行一个命令是什么的详细内容,更多请关注抖狐科技其它相关文章!
-
小红书被禁言限流了怎么恢复
小红书禁言限流的解除方法:1. 检查违规内容并删除;2. 申诉举报;3. 优化内容质量;4. 联系小红书官方客服。解除小红书禁言限流的方法 原因查找发布违规内容(如政治敏感话题、色情内容) 被用户举报...
-
苹果平板电脑多少钱一台
苹果平板电脑(ipad)价格范围从入门级 329 美元到旗舰级 2tb 型号的 2099 美元不等,具体取决于:型号:入门级 ipad 最实惠,其次是 ipad air,旗舰 ipad pro 最贵。...
-
2024年09月17日FDUSD币价格_FDUSD币今日最新价格
(24小时FDUSD币价格走势) First Digital USD (FDUSD) 价格走势分析 截至 2024 年 9 月 17 日 15:00,fdusd 的价格为 1.0007 美元,过去 2...
-
归龙潮明灯缀天之二任务怎么完成 归龙潮明灯缀天之二任务攻略流程
归龙潮明灯缀天之二任务怎么完成?归龙潮明灯缀天之二任务找到并点燃所有的天灯即可完成。很多小伙伴还不知道归龙潮明灯缀天之二任务怎么完成,下面给大家整理了归龙潮明灯缀天之二任务攻略流程,让我们一起来看看吧...
-
华为商城怎么预约购买手机
通过华为商城预约购买手机的步骤依序为:登录华为商城官网或 app,使用华为 id 登录。搜索并选择您要购买的手机型号,点击“立即预约”。填写预约信息,包含姓名、手机号和手机型号、颜色、内存等。提交预约...