Whereisにコマンドパスが表示されないのはなぜですか?しかし、どちらがうまくいきますか? [コピー]

Whereisにコマンドパスが表示されないのはなぜですか?しかし、どちらがうまくいきますか? [コピー]

実行可能なbashシェルスクリプトファイルコマンドを作成しました。$PATH変数にカスタムコマンドのディレクトリパスを追加しましたが、whereisコマンドパスは表示されませんがwhich正しく表示されました。私はbashシェルを使用していますubuntu 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

whereiswhich特に明記しない限り、現在の環境のPATH変数でハードコーディングされたパスが検索されます。これら2つのコマンドのマニュアルを読んでください。

whereis次の構文を使用できます。

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

関連情報