删除功能仍然可用

时间:2017-12-22 16:24:10

标签: bash shell centos

我创建了一个名为“tardir”的函数来压缩特定目录,并将它添加到我的CentOS盒子上的.bash_profile中。

从那时起,我创建了一堆其他脚本,而不是将它们添加到我的.bash_profile中,我创建了一个脚本文件夹,并在.bash_profile中添加了$ PATH导出的路径。

然后我从.bash_profile中删除了tardir函数并将其转换为shell脚本。我运行了源.bash_profile来刷新它,但我注意到的是命令tardir仍然可以工作。

我已对shell脚本进行了更改,但函数tardir仍在运行旧代码,我无法找到它。

当我键入tardir'tab''tab'时,我得到两个结果,tardir和tardir.sh

迟到的来自哪里?是否有flush cache命令我可以运行完全删除旧的tardir函数调用?

1 个答案:

答案 0 :(得分:1)

它在当前进程(shell)环境中定义,

typeset -f tardir

删除它会启动一个新的bash实例,否则可以在当前进程中删除一个函数:

unset tardir

sourcing .bash_profile只是在当前的shell环境中运行.bash_profile中的命令,但不会重置环境。