删除功能仍然可用

问题描述 投票:0回答:1

我创建了一个名为“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函数调用?

bash shell centos
1个回答
1
投票

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

typeset -f tardir

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

unset tardir

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

© www.soinside.com 2019 - 2024. All rights reserved.