MacOSX Big Sur – Terminal ZSH Shell Command’s Execute Sometimes With “!” Exclamation Symbol In Front

big surmacterminalzsh

Is this normal behavior for MacOS Big Sur ZSH (Z Shell) terminal? Sometimes shell commands such as find and or launchd as just a simple example execute properly. This is with the exclamation symbol "!" in front, leading with the expected output and no privilege escalation.

For example, running: !find / will still work.
Or !sudo will execute.

But !echo '@' will not. But lead to the next command sometimes.

Output for !echo

zsh: event not found: echo

Output for !launchd

launchd

launchd cannot be run directly.

It seem's weird !sudo outputs sudo syscallbypid.d

Best Answer

!str Refer to the most recent command starting with str. this is the history expansion behavior. type

man zshexpn

and check 'Event Designators', you will get the answer

An event designator is a reference to a command-line entry in the history list. In the list below, remember that the initial `!' in each item may be changed to another character by setting the histchars parameter.

   !      Start a history expansion, except when followed by a blank, newline, `=' or `('.  If followed immediately by a word designator
          (see the section `Word Designators'), this forms a history reference with no event designator (see the section `Overview').

   !!     Refer to the previous command.  By itself, this expansion repeats the previous command.

   !n     Refer to command-line n.

   !-n    Refer to the current command-line minus n.

   !str   Refer to the most recent command starting with str.

   !?str[?]
          Refer to the most recent command containing str.  The trailing `?' is necessary if this reference is to be followed by a modi-
          fier or followed by any text that is not to be considered part of str.

   !#     Refer  to  the  current command line typed in so far.  The line is treated as if it were complete up to and including the word
          before the one with the `!#' reference.

   !{...} Insulate a history reference from adjacent characters (if necessary).