Posted inlinux shell bash 基础
八 再论函数的命名参数设计
【动机】
在函数的命名参数设计篇中, 我们看到命名参数的获取和设置上的一些限制. 在本文中, 将其一次性解决.
当入口 linux shell 脚本 main.sh, 在需要包含其他脚本的变量设置, 或者向当前会话添加其他脚本定义的函数等场景, 假设要 source 的文件分两部分, 分别位于项目文件夹以及公共的库文件夹下,一般采取以下形式(本文仅讨论不带参数的 source 语句):
众所周知, bash 选项 errexit(默认为 off) 如果被设置为 on, 意味着只要主进程中任何一个函数(或命令)调用的退出码 (exitcode) 非0, 程序马上退出, 这对提高编码的健壮性的作用不言而喻.
众所周知,bash 选项分两部分, 分别归 shopt 和 shopt -o 管理, 而后者等同于 set -o.
以 errexit 和 autocd 为例, 使用命令行返回的字符串获取:
众所周知, linux shell 函数的定义, 默认采用位置参数, 在函数内部, 以 $1 $2 $3… 获取. 这对于一两个参数的函数, 还不觉得有何不便之处, 当参数个数多了以后, 不论是函数的编写还是调用或者扩展, 可能就不太好玩了.