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」はコマンドを解釈しません。シェル プログラムが解釈します。したがって、これは使用するシェルによって異なります。

commandsh/bash/zsh では、組み込みの次のものを使用できます。

$ order
hello from function

$ command order
hello from somewhere

$

これに対するグローバル設定はありません。

関連情報