Come creare alias della shell per comandi più lunghi
Se usi il terminale quotidianamente, probabilmente hai digitato gli stessi comandi lunghi più e più volte. Gli alias della shell ti permettono di creare scorciatoie per smettere di ripeterli.
Il problema
Uso regolarmente Claude Code e a volte devo eseguirlo con il flag --dangerously-skip-permissions. Digitare questo ogni volta diventa rapidamente noioso:
claude --dangerously-skip-permissions
Sono 42 caratteri. Volevo qualcosa che potessi digitare senza pensare.
La soluzione semplice: gli alias
La soluzione più rapida è un semplice alias di shell. Aggiungi questo al tuo ~/.zshrc (o ~/.bashrc se usi bash):
# Scorciatoie per Claude
alias cl="claude"
alias cld="claude --dangerously-skip-permissions"
Quindi ricarica la tua shell:
source ~/.zshrc
Fatto. Ora:
clesegueclaude(2 caratteri invece di 6)cldesegueclaude --dangerously-skip-permissions(3 caratteri invece di 42)
Entrambi accettano anche argomenti aggiuntivi. cld -m "correggi il bug" funziona esattamente come claude --dangerously-skip-permissions -m "correggi il bug".
Prima di scegliere un nome: controlla le collisioni
Prima di creare un alias, assicurati che il nome non sia già utilizzato da un altro comando sul tuo sistema:
which cl 2>/dev/null
which cld 2>/dev/null
type cl 2>/dev/null
type cld 2>/dev/null
Se non viene restituito nulla, sei libero. Evita di sovrascrivere comandi integrati come cd, ls o rm a meno che tu non sappia esattamente cosa stai facendo.
Quando hai bisogno di più controllo: le funzioni
Gli alias funzionano benissimo per semplici mappature. Ma cosa succede se vuoi un sottocomando come claude danger? Gli alias non supportano gli spazi nei nomi. Per quello, hai bisogno di una funzione di shell:
claude() {
if [[ "$1" == "danger" ]]; then
shift
command claude --dangerously-skip-permissions "$@"
else
command claude "$@"
fi
}
Questo intercetta il primo argomento. Se è danger, sostituisce con il flag completo. Altrimenti, passa tutto al binario claude reale invariato.
La parola chiave command è importante qui. Dice alla shell di chiamare il binario effettivo invece della funzione ricorsivamente.
Alla fine ho optato per gli alias più semplici cl e cld. Meno battute vincono.
Esempi di utilizzo
# Avvia claude normalmente
cl
# Avvia claude in modalità pericolosa
cld
# Passa argomenti extra
cld -m "correggi il bug di autenticazione"
cl -m "spiega questa funzione"
Applica il modello a qualsiasi cosa
Questo funziona per qualsiasi comando che digiti frequentemente:
# Scorciatoie Docker
alias dc="docker compose"
alias dcu="docker compose up -d"
alias dcd="docker compose down"
# Scorciatoie Git
alias gs="git status"
alias gp="git push"
alias gl="git log --oneline -10"
Inizia con i comandi che digiti più spesso. Esegui history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10 per trovare i tuoi comandi più usati e crea un alias per quelli più lunghi.
Gli alias di shell sono una delle vittorie di produttività più semplici nel terminale. Tre caratteri invece di quarantadue si sommano rapidamente.