Linux/BSD Shell无法识别新安装的二进制文件

时间:2020-01-09 10:38:40  来源:igfitidea点击:

我已经使用make命令在Linux或FreeBSD端口下使用tar球格式安装了一些软件。
但是,我的系统根本无法识别已安装的命令或应用程序。
我需要重新启动系统或注销并再次登录才能使用同一应用程序。
我该如何解决这个问题?
几乎所有现代shell都记住程序位置并缓存结果以加快操作速度。

Shell有一个称为哈希表的东西,它不过是要重新计算的path($PATH)变量中的目录内容。
要刷新缓存,只需在bash/sh/ksh下执行以下内容:

# hash -r

如果使用的是CSH,请执行:

# rehash

如果在登录时将新命令添加到路径中的目录中,则需要执行此操作。
只有在将命令添加到自己的目录之一或系统程序员更改系统目录内容之一时,才需要这样做。
它还刷新由代字号扩展构建的主目录的缓存。

Linux/BSD Shell无法记住新安装的二进制文件时的Bash hash命令选项

语法为:

hash [option] cmd_name

让我们打印ls命令和vnstat命令的记忆位置:

hash -t ls

hash -t vnstat

要忘记wget命令的记忆位置:

hash -d wget

我们可以通过传递-r选项来忘记所有记住的位置:

hash -r

最后,我们可以给PATHNAME(/usr/local/bin/vnstat)作为vnstat命令的完整路径名:

hash -p /usr/local/bin/vnstat vnstat