我创建了一个可执行的 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