Bash

為什麼 Whereis 不能顯示命令路徑,而哪個工作正常?

  • February 3, 2019

我創建了一個可執行的 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

whereis除非另有說明,否則搜尋硬編碼路徑,同時which在目前環境中搜尋 PATH 變數。請閱讀這兩個命令的手冊。

您可以使用whereis以下語法:

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

引用自:https://unix.stackexchange.com/questions/249054