过时的功能仍然存在于bash环境中

时间:2016-09-16 15:10:29

标签: bash shell environment-variables bash-function

如果我在bash脚本中定义一个函数,例如envsetup.sh

function blabla() 
{
  echo "blabla"
}

然后我通过

来源

. envsetup.sh

我的环境中有blabla功能可供使用。但是,如果我删除此函数并再次获取它,则blabla函数仍然存在。

为什么不删除?

1 个答案:

答案 0 :(得分:1)

它仍然是相同的 Bash流程,运行envsetup.sh只会修改该流程。如果你调用了一个新的Bash shell并在那里运行了你的脚本,那么你的函数将不存在。

您可以在shell脚本中删除该功能。您可以通过以下方式执行此操作:

unset -f blabla