Bash 解析命令时的“操作顺序”是什么?

Bash 解析命令时的“操作顺序”是什么?

给定在普通 bash 提示符下输入的命令,一旦按下 Enter 键,bash 如何读取该行?它先进行变量替换然后命令替换吗?或者它首先进行 bash 扩展?或者是什么?

给出下面的命令,bash 从头到尾做什么?

for i in *.meow; do 
   cat <<WUTLOL
   FILE ${PWD}/$i
   WUTLOL
   scp $i $(grab_server.sh kitten_blast{1..3}): 
done

答案1

巴什维基很好地解释了这一点。释义:

  1. 读取数据执行
  2. 流程报价
  3. 将读取的数据拆分为命令
  4. 解析特殊运算符
  5. 执行扩展
  6. 将命令拆分为命令名称和参数
  7. 执行命令

相关内容