È possibile utilizzare la commandshell integrata per ignorare il normale processo di ricerca ed eseguire il comando dato come comando esterno indipendentemente da qualsiasi altra possibilità (built-in della shell, alias, ecc.). Questo è spesso fatto negli script che devono essere portatili tra i sistemi, sebbene probabilmente più comunemente usando la scorciatoia \(come in \rmpiuttosto che command rmo rm, in quanto in particolare quest'ultimo può essere aliasato a qualcosa di non noto come 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...]
$
Questo può essere usato con un alias, in questo modo:
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
Il vantaggio di questo, ad esempio, alias time=/usr/bin/timeè che non si sta specificando il percorso completo del timebinario, ma si ricorre al normale meccanismo di ricerca del percorso.
Il aliascomando stesso può andare ad esempio in ~ / .bashrc o /etc/bash.bashrc (quest'ultimo è globale per tutti gli utenti del sistema).
Per il caso opposto (forzando l'uso della shell integrata nel caso in cui sia definito un alias), useresti qualcosa del genere builtin time, che ignora nuovamente il normale processo di ricerca ed esegue la shell incorporata. La pagina man di bash menziona che questo è spesso usato per fornire cdfunzionalità personalizzate con una funzione chiamata cd, che a sua volta usa il builtin cdper fare la cosa reale.
type -a <cmd>.