首页 > 解决方案 > 仅在包含的脚本中设置 -u

问题描述

我有相当广泛的 bash 脚本集合,这些脚本包含在其他脚本中以执行其中的功能。我想set -u在我包含的脚本中使用,而不是在我的脚本之外传播,例如到任何包含的脚本。我是否需要在脚本中的每个函数中设置它,还是可以在“全局”文件中设置它?

根据评论:我使用脚本如下:

source magic/helper/script.sh

foo

内容script.sh

function foo
{
  # ...
}

标签: bash

解决方案


启用的任何选项set -都可以通过禁用,set +因此您可以执行以下操作:

set -u
source magic/helper/script.sh
set +u

foo

您也可以在包含的文件中调用set -u和。set +u


推荐阅读