<> == 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. <> === 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: {{{#!highlight bash \command -p -- name "${args[@]}" }}} The remainder of this FAQ assumes alias expansion has been disabled or otherwise mitigated. === Prioritize calling only a builtin === {{{#!highlight bash # Strictly bash-only. Not recommended function my_builtin { builtin my_builtin "$@" } }}} === Call an external utility by PATH resolution, bypassing builtins and/or functions === {{{#!highlight bash "$(type -P name)" "${args[@]}" }}} === Call a specific external utility === Specify the full or relative path name containing at least one forward slash. === See also === * https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_09_01_01 * https://burnthewhich.github.io/