Unix 在 PATH 之前搜索已声明的函数

Unix 在 PATH 之前搜索已声明的函数

Unix首先在之前声明的函数中进行搜索PATH

$ order() { echo "hello from function"; }
$ order
hello from function

$ which order
/usr/bin/which: no order in (all:the:paths)

$ vim order
#!/bin/bash
echo "hello from somewhere"
:wq

$ chmod +x order
$ export PATH=~/:$PATH

$ hash -r

$ which order
~/order

$ order
hello from function

有没有办法告诉在声明的函数之前unix进行搜索?PATH

答案1

“unix” 不解释命令 – shell 程序会解释。因此这取决于您使用的 shell。

在 sh/bash/zsh 中,您可以使用command内置功能:

$ order
hello from function

$ command order
hello from somewhere

$

对此没有全局设置。

相关内容