command
シェルビルトインを使用して、通常のルックアッププロセスをバイパスし、他の可能性(シェルビルトイン、エイリアスなど)に関係なく、指定されたコマンドを外部コマンドとして実行できます。これは、多くの場合、おそらくより一般的に速記を使用したものの、システム間で移植する必要があるスクリプトで行われます\
(のように\rm
ではなく、command rm
またはrm
特に後者は何かのように知られていないにエイリアスすることができるように、rm -i
)。
$ time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ command time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
これは、次のようにエイリアスとともに使用できます。
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
たとえば、これの利点はalias time=/usr/bin/time
、time
バイナリへのフルパスを指定するのではなく、通常のパス検索メカニズムにフォールバックすることです。
alias
コマンド自体は、例えば〜/ .bashrcに入るか/etc/bash.bashrc(後者は、システム上のすべてのユーザーに対してグローバルである)ことができます。
反対の場合(エイリアスが定義されている場合にシェル組み込みの使用を強制する)、のようなものを使用builtin time
します。これは通常の検索プロセスを再びオーバーライドし、名前付きシェル組み込みを実行します。bashのmanページでは、これは多くの場合、組み込みcd
機能をcd
使用cd
して本物を実行するという名前の関数でカスタム機能を提供するために使用されると述べています。
type -a <cmd>
ます。