linux 解析命令,linux解析命令行

在命令提示符后输入一条命令后,shell会读入这个命令行并对命令行进行解析,将其分解为词,称作token。token之间用空格或制表符分隔,命令行以换行符结尾。接下来,shell检查第一个词是否为内置命令或磁盘上的可执行程序。如果是内置命令,shell就在自己内部执行它。否则,shell将在路径变量所指的目录中查找这个程序。如果找到了命令的程序,shell就创建一个进程来执行它。之后,shell进入睡眠(或等待)状态直至程序执行完毕。shell会根据需要报告程序的退出状态。此时,屏幕上又会出现命令提示符,整个过程从头开始。命令行的处理顺序如下:

(1) 执行历史命令替代(hash 视情况而定)

(2) 命令行被分解为token(或称“词”)

(3) 更新历史命令(视情况而定)

(4) 引用的处理

(5) 别名替代和函数的定义(alias->keyword->function->built-in->$PATH视情况而定)

(6) 设置重定向,后台进程和管道

(7) 执行变量替换(如$name,$user等)

(8) 执行命令替换(如`date`代替Today)

(9) 执行称为globbing的文件名替换(如cat abc.??,rm *.c等)

(10) 执行命令

图片传不上,下次再传!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值