How to ignore aliases, functions, or builtins when running a command?
functions, builtins, external utilities, and aliases can all be defined with the same name at once. It's sometimes necessary specify which of these the shell should resolve while bypassing the others.
Contents
Bypass aliases
Resolve commands normally ignoring aliases:
\name
\unalias name name
Clear all aliases:
\unalias -a
Alias expansion in bash is disabled by default in non-posix mode.
Prioritize calling a builtin or external command
Bypass aliases and functions:
\command name
If PATH is unknown / unreliable:
1 \command -p -- name "${args[@]}"
The remainder of this FAQ assumes alias expansion has been disabled or otherwise mitigated.
Prioritize calling only a builtin
Call an external utility by PATH resolution, bypassing builtins and/or functions
1 "$(type -P name)" "${args[@]}"
Call a specific external utility
Specify the full or relative path name containing at least one forward slash.