bash - 仅在包含的脚本中设置 -u
问题描述
我有相当广泛的 bash 脚本集合,这些脚本包含在其他脚本中以执行其中的功能。我想set -u
在我包含的脚本中使用,而不是在我的脚本之外传播,例如到任何包含的脚本。我是否需要在脚本中的每个函数中设置它,还是可以在“全局”文件中设置它?
根据评论:我使用脚本如下:
source magic/helper/script.sh
foo
内容script.sh
:
function foo
{
# ...
}
解决方案
启用的任何选项set -
都可以通过禁用,set +
因此您可以执行以下操作:
set -u
source magic/helper/script.sh
set +u
foo
您也可以在包含的文件中调用set -u
和。set +u
推荐阅读
- android - 移动应用程序 HTTPS 流量捕获:通过 JMeter 代理路由流量时无法浏览应用程序(显示为离线)
- scala - 如何将 M 类型的 x 值赋给 option[M]
- android - 如何创建仅用于新下载而不用于升级的版本?
- javascript - 在 JavaScript 中传递给多个条件的值
- traefik - Traefik 和 WildCard 证书由第三方签发
- python - 为收集的包构建轮子非常慢并且需要内存。我可以跳过吗?
- php - PHP如何解析不同级别的数组
- c++ - 如何将 DWORD 值分配给 LONGLONG 变量?
- r - 创建不同的子集,绘制它们并存储图
- python - 具有动态约束的 Python Pulp 线性规划