2015-02-19 7 views
6

Nel mio script zsh, ho avuto una lineaQuale significato speciale ha un segno di uguale in zsh?

echo some text ================================ 

Con mia grande sorpresa, è stato emesso un messaggio di errore per questa linea:

zsh: =============================== not found 

Sperimentare dalla riga di comando, ho scoperto che il guscio si sconvolto quando v'è un segno di uguale:

$ echo =z 
zsh: z not found 

Ma qui, abbiamo:

$ echo =echo 
/usr/bin/echo 

Da questa osservazione, sembra, come se

=XXX 

verrebbe interpretato come

$(which XXX) 

Tuttavia, non ho trovato niente di questa "sostituzione" nella pagina man zsh. Dove è descritto questo pezzo di magia?

risposta

6

Dal docs:

14.7.3 '=' espansione

Se una parola inizia con una unquoted '=' e la EQUALS opzione è impostata, viene acquistata il resto della parola come il nome di un comando. Se esiste un comando con questo nome, la parola viene sostituita dal nome completo del percorso del comando.

E here in più parole

+1

Grandi! Ho trovato soprattutto il link molto utile, che hai fornito! – user1934428