就是指命令执行的优先级,就像四则运算的优先级
bash shell运行命令本来是从左往右依次执行,但期间会遇到种种潜规则
把命令查分成单个的命令单词
shell先把拿到手的命令行拆分成一段一段的单词
展开别名
突然遇到了一个别名,就去查找alias指向哪里?找到了把对应的内容拿进来摆好
继续往下看,突然遇到了大括号声明{},里边可能是通配符、代码块之类的鬼东西,计算出结果,摆好
继续往下看,突然又遇到了倒霉的波浪符~,转换为家目录的路径,摆好
继续往下看,突然又遇到了装着其他命令的$()和反向单引号,把其中的命令先执行了,计算出结果,摆好
再把所有该拆的都拆散,重新摆好
继续往下看,突然又遇到了MMP的的通配符,拿张草纸一顿查,把找到的结果,摆好
以为结束了?怎么可能,最后还遇到倒霉的重定向,
先看看输入重定向送进来什么东西,插到里边摆好,
再看看输出重定向要求送到哪里去,填个快递单先,
后边是不是还有管道,先打个电话和管道那边沟通一下。
终于的终于,要把所有摆好的东东,通过最强大脑,开整!
命令里可以执行,脚本里不能使用别名
需要使用原始的命令
如需要使用别名的功能,需要加参数啊!
原文:https://www.cnblogs.com/bpzblog/p/14522780.html