我正在寻找一种方法来枚举可执行文件的所有副本,这些副本被我的第一个副本所遮蔽PATH.我能想出的最好的功能是:
find_all_exec() {
for i in ${PATH//:/ }; do
find "$i/$1" 2> /dev/null
done
}
$ find_all_exec python
/usr/local/bin/python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
这让我得到了我想要的东西(尽管它没有处理bash别名/函数type).我很好奇是否有更内置的方式?
Lor*_*con 32
试试这个内置命令:
which -a python
Run Code Online (Sandbox Code Playgroud)
type -a *
Run Code Online (Sandbox Code Playgroud)
例如,
type -a python
Run Code Online (Sandbox Code Playgroud)
给出
python is /Users/user1/anaconda3/bin/python
python is /usr/local/bin/python
python is /usr/bin/python
python is /Applications/CASA.app/Contents/MacOS/python
Run Code Online (Sandbox Code Playgroud)