shell 模块化

一直很好奇 shell 脚本如何能够像 C 一样分成多个文件来写, 在模块中定义好各种函数, 在主文件中调用它们. 这些需求是有的, 如在模块中定义 map 函数, 并在主文件中调用它们来调用 map. 或者像我们的服务器部署脚本有大量类似的功能, 找出最新的代码、压缩备份、只保存备份最新的5各、检

阅读全文 “shell 模块化”

bash map

我自己对 bash 的编程是有很多槽点的. 比如函数只能返回整数值, 取函数返回值只能用 $?. 对不加双引号的变化会以空白符分割, 导致隐藏的很深的 bug. 数值型 for 里边的变量是全局的. 为了从一个函数中取得返回值必须得用全局变量等等不一而足. 难怪大部分的 bash 文件都很小, 就是

阅读全文 “bash map”