为什么Whereis无法显示命令路径,而which却工作正常?

为什么Whereis无法显示命令路径,而which却工作正常?

我创建了一个可执行的 bash shell 脚本文件命令。我将自定义命令的目录路径添加到$PATH变量中,但whereis没有显示命令路径,但which显示正确。我正在使用 bash shellubuntu 14.04

添加.local/bin$PATH自定义命令所在的位置.bashrc

~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/rahul/.local/bin

自定义命令文件存在并且带有可执行标志

~$ ls -l .local/bin/
total 8
-rwxr-xr-x 1 rahul employee 79 Dec 13 15:47 customCC

whereis无法找到该命令

~$ whereis customCC
customCC:

which能够找到该命令。

~$ which customCC
/home/rahul/.local/bin/customCC

Bash customCC 脚本代码

#!/bin/bash
cd /home/rahul/sample

答案1

whereis除非另有说明,否则搜索硬编码路径,同时which搜索当前环境中的 PATH 变量。请阅读这两个命令的手册。

您可以使用whereis以下语法:

whereis -B $HOME/.local/bin -f customCC

相关内容