Impostazione degli alias in zsh


75

So che in bash puoi impostare gli alias in un file .bash_aliases in modo che il comando che digiti non debba essere un comando memorizzato nei binari nel sistema. Esiste un modo per ottenere gli alias in zsh?

Risposte:


43

puoi farlo con il comando "alias" con questa sintassi:

alias [ -gmrL ] [ name[=value] ... ]

per gli switch "gmrL", consultare questa guida, che è il mio riferimento. Per ogni nome senza valore, zsh stamperà il nome e ciò a cui è stato precedentemente impostato. Senza alcun argomento, l'alias stampa i valori di TUTTI gli alias definiti.

Per definire uno o più alias, basta inserire

alias name1=value1 name2=value2 ... nameX=valueX

Per ogni nome con un valore corrispondente, zsh definisce un alias con quel valore. per ulteriori informazioni, controlla quel link ;-)

Aggiornamento: aggiornato il link non funzionante.


Quel documento ha risposto esattamente alla mia domanda. Grazie mille
Thomas Ward

Quel collegamento non è attivo.
Soham Chowdhury,

aggiornato il collegamento.
sazary,

8
questa risposta manca la parte su dove persistere gli alias, la risposta di Kurtosis lo include (.zshrc).
Felix,

1
Uso ~/.profileper archiviare tutti gli alias a cui tengo e ~/.profileda cui provengo ~/.zshrc.
danba,

140

Vado avanti e indietro tra bash e zsh e uso lo stesso file .aliases per entrambi. Condividono la stessa sintassi di alias di base, quindi è possibile creare un file .aliases e collegarlo a .bashrc e .zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

In seguito ciò può essere fatto anche con dichiarazioni di variabili d'ambiente, in un file .env separato .


Ho appena aggiunto source ~ / .bash_aliases alla fine di .zshrc, quindi tutti gli alias stanno lavorando sia su bash che su zsh
talsibony,

@talsibony in questo modo: ~/ .bash_aliasesho bisogno di un piccolo aiuto, per favore, se ci sei, rispondi
lewis4u

@ lewis4u Non ci dovrebbe essere uno spazio tra ~ / e .bash_aliases. Dovrebbe essere esattamente ~ / .bash_aliases.
Kurtosis,

I tuoi collegamenti sono interrotti ..
Ilan.b

10

Di solito li metti dentro ~/.zshenv. Ma molti programmi usano /bin/sh(di solito bash) invece di $SHELLeseguire comandi di shell, quindi per farlo funzionare dovrete probabilmente mettere comunque l' bashequivalente ~/.bash_aliasesdell'alias.


Questo è solo per il mio account utente, quindi non è necessario copiarlo nel file ~ / .bash_aliases.
Thomas Ward
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.