2 votos

MacOSX Big Sur - Terminal ZSH Shell Command's Execute Sometimes With "!" Exclamation Symbol In Front

¿Es este un comportamiento normal para el terminal ZSH (Z Shell) de MacOS Big Sur? A veces los comandos del shell como find y o launchd como un simple ejemplo ejecutar correctamente. Esto es con el símbolo de exclamación "!" por delante, que lleva la salida esperada y sin escalada de privilegios.

Por ejemplo, corriendo: !find / seguirá funcionando. O !sudo se ejecutará.

Pero !echo '@' no lo hará. Pero a veces conducen al siguiente comando.

Salida para !eco

zsh: event not found: echo

Salida para Lanzamiento

launchd

launchd cannot be run directly.

Parece raro !sudo salidas sudo syscallbypid.d

7voto

nelson Puntos 1153

!str Se refiere al comando más reciente que comienza con str. este es el comportamiento de expansión del historial. tipo

man zshexpn

y marque "Designadores de eventos", obtendrá la respuesta

Un designador de evento es una referencia a una entrada de la línea de comandos en la lista del historial. En la lista de abajo, recuerde que la inicial `!' en de cada elemento puede cambiarse por otro carácter estableciendo el parámetro histchars.

   !      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).

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X