Sie können die commandeingebaute Shell verwenden, um den normalen Suchvorgang zu umgehen und den angegebenen Befehl als externen Befehl auszuführen, unabhängig von anderen Möglichkeiten (eingebaute Shell, Aliase usw.). Dies geschieht häufig in Skripten, die systemübergreifend portierbar sein müssen, obwohl wahrscheinlich häufiger die Kurzform verwendet wird \(wie in \rmund nicht command rmoder rm, da insbesondere letztere auf etwas ausgerichtet sein können, das nicht bekannt ist wie 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...]
$
Dies kann mit einem Alias wie folgt verwendet werden:
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
Der Vorteil gegenüber z. B. alias time=/usr/bin/timeist, dass Sie nicht den vollständigen Pfad zur timeBinärdatei angeben, sondern stattdessen auf den üblichen Pfadsuchmechanismus zurückgreifen.
Der aliasBefehl selbst kann zB in ~ / .bashrc oder /etc/bash.bashrc abgelegt werden (letzteres ist global für alle Benutzer im System).
Für den umgekehrten Fall (Erzwingen der Verwendung der integrierten Shell, falls ein Alias definiert ist) würden Sie so etwas wie verwenden builtin time, das wiederum den üblichen Suchprozess außer Kraft setzt und die integrierte benannte Shell ausführt. In der Bash-Manpage wird erwähnt, dass dies häufig verwendet wird, um benutzerdefinierte cdFunktionen mit einer Funktion namens bereitzustellen cd, die wiederum die eingebaute Funktion verwendet cd, um die eigentliche Aufgabe zu erledigen.
type -a <cmd>.