Shell: 将环境变量作为具名参数使用
Shell: 将环境变量作为具名参数使用
建议点击 查看原文 查看最新内容。
原文链接: https://typonotes.com/posts/2023/07/13/shell-using-env-var-as-named-arg/
1. 位置参数
在 Shell 中, 最常用的参数就是 位置参数。
|
|
执行结果如下
|
|
位置参数
- 使用数字表示对应的参数的位置, 不具有明确的 语义。
- 修改输入参数位置影响执行结果。
可以考虑使用内置变量名削弱影响。
|
|
当参数位置变换后, 修改内置变量对应位置即可。
|
|
2. 使用 getopts 参数解析工具
使用 getopts
可以通过 -n
这样的参数选项控制变量的位置。 是一种常用的方式。
但我个人并不喜欢这种, 觉得麻烦。
之前的笔记已经找不到, 可以参考 Shell脚本中的while getopts用法小结
核心变量赋值代码如下
|
|
执行结果
|
|
可以看到, 是通过 while
循环 与 case
判断 进行变量捕捉并赋值。
与之配合的还有一个 Shell 内置方法 shift
可以改变变量位置。 每次调用, 当前队列 $2变成了$1, $3变成了$2, 依次类推。 最终变成一个 新队列。
这个忘了、也不用, 就不展开了。
3. 把环境变量作为具名参数
这种方式是我现在比较喜欢用的。
- 不在依赖变量的位置了。
- 可以同时设置默认值。
要说不方便就是 参数前置 了。 和平常的使用习惯不一样。
|
|
执行结果
|
|
- 原文链接:https://typonotes.com/posts/2023/07/13/shell-using-env-var-as-named-arg/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。