ABS / 多敲码 · 2022年9月10日 0

shell中的函数

函数从形式上是执行一系列操作的代码块, 对于使用者来讲, 是完成特定任务的黑盒.
因此可以把它的使用场景描述为:从代码和操作层级上看,有重复操作的代码时;从实际完成的任务层级上,任务需要重复做.
具体实现形式上, 可以使用function关键字, 或者不使用, 后者更具C的兼容性.所以最好别用那个关键字.

复杂函数和函数的复杂性
函数可以通过位置处理传递过来的参数并返回给脚本一个可用于进一步处理的退出状态. 这个退出状态可以用return 或者exit返回值, 也可以用命令执行的结果状态. 函数的返回值通过$?来调用, 跟命令的退出状态类似.

shell函数的一点小特性是,会根据参数的字面值处理,即:只处理值参数,指针只做为字符串字面值.

迭代=自引用,既可以使用局部变量迭代,也可以不使用.

所以你看到,shell的函数十分简单,nothing new.