shell中别名和函数的核心区别在于什么呢?

二者在使用过程中,似乎可以相互替换和代替,请问核心区别在于?

阅读 2.2k
1 个回答

alias是使用纯文本代替命令名,它在命令解析阶段就会把内容进行替换,由于替换过程完全是基于文本的,因而别名可以改变shell的语法;
函数的函数体是复合命令(bash),函数名在命令解析阶段并不会被替换,只是在命令执行阶段调用相应的函数处理对应的复合命令。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进