Możesz użyć command
wbudowanej powłoki, aby ominąć normalny proces wyszukiwania i uruchomić dane polecenie jako polecenie zewnętrzne, niezależnie od innych możliwości (wbudowane powłoki, aliasy itp.). Często odbywa się to za pomocą skryptów, które muszą być przenośne w różnych systemach, chociaż prawdopodobnie częściej używa się stenografii \
(jak w lub \rm
zamiast , ponieważ szczególnie ta ostatnia może być aliasowana do czegoś nie znanego ).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...]
$
Można tego użyć z aliasem, takim jak:
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
Zaletą tego jest na przykład alias time=/usr/bin/time
to, że nie określasz pełnej ścieżki do time
pliku binarnego, ale zamiast tego powracasz do zwykłego mechanizmu wyszukiwania ścieżki.
Sama alias
komenda może przejść do np. ~ / .Bashrc lub /etc/bash.bashrc (ta ostatnia jest globalna dla wszystkich użytkowników w systemie).
W przeciwnym przypadku (wymuszenie użycia wbudowanej powłoki w przypadku zdefiniowania aliasu) użyłbyś czegoś podobnego builtin time
, co ponownie zastąpi zwykły proces wyszukiwania i uruchomi nazwaną wbudowaną powłokę. Strona podręcznika bash wspomina, że jest to często używane w celu zapewnienia niestandardowej cd
funkcjonalności o nazwie o nazwie cd
, która z kolei używa wbudowanej funkcji cd
do wykonania prawdziwej operacji.
type -a <cmd>
.