Ви можете використовувати 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>
.