shell中脚本与函数的使用策略

脚本:运行的副作用不影响父环境,开辟了fork子进程;

函数:副作用,定义的变量,数据默认直接添加到了调用者的环境,也是它自己的环境;不想副作用影响调用者环境,就必须主动用local修饰;

脚本可以使用source退化为函数;

尽量使用脚本,而不是函数,除非函数本身就是系统级别的作用范围;

使用脚本的好处                

  1.把函数封装在脚本中可以形成类似于文件范围的访问隔离;  

  2.脚本是文件级别的东西,文件目录,绝对路径本身就给它带来版本区分,作用范围划分的优势.

  3.linux文件有缓存机制,脚本不会明显的比内存中的函数慢,而且4.2以上版本的bash还可能直接把命令名和脚本路径hash绑定.

  4.函数从文件加载到环境后,修改函数需要重写后需要重新加载.脚本文件不存在这个步骤. 函数也是要用脚本文件落地到磁盘的.

猜你喜欢

转载自www.cnblogs.com/jf001/p/10262893.html