Cómo crear alias de shell para comandos largos
Si utilizas la terminal a diario, probablemente hayas escrito los mismos comandos largos una y otra vez. Los alias de shell te permiten crear atajos para que dejes de repetirte.
El problema
Uso Claude Code habitualmente, y a veces necesito ejecutarlo con la bandera --dangerously-skip-permissions. Escribir esto cada vez se vuelve tedioso rápidamente:
claude --dangerously-skip-permissions
Eso son 42 caracteres. Quería algo que pudiera escribir sin pensar.
La solución sencilla: los alias
La solución más rápida es un alias de shell simple. Añade esto a tu ~/.zshrc (o ~/.bashrc si usas bash):
# Atajos de Claude
alias cl="claude"
alias cld="claude --dangerously-skip-permissions"
Luego recarga tu shell:
source ~/.zshrc
Eso es todo. Ahora:
clejecutaclaude(2 caracteres en lugar de 6)cldejecutaclaude --dangerously-skip-permissions(3 caracteres en lugar de 42)
Ambos también aceptan argumentos adicionales. cld -m "arregla el error" funciona exactamente igual que claude --dangerously-skip-permissions -m "arregla el error".
Antes de elegir un nombre: comprueba si hay conflictos
Antes de crear un alias, asegúrate de que el nombre no esté ya asignado a otro comando en tu sistema:
which cl 2>/dev/null
which cld 2>/dev/null
type cl 2>/dev/null
type cld 2>/dev/null
Si no devuelve nada, estás libre. Evita sobrescribir comandos integrados como cd, ls o rm a menos que sepas exactamente lo que estás haciendo.
Cuando necesitas más control: las funciones
Los alias funcionan muy bien para mapeos simples. Pero ¿qué pasa si quieres un subcomando como claude danger? Los alias no admiten espacios en los nombres. Para eso, necesitas una función de shell:
claude() {
if [[ "$1" == "danger" ]]; then
shift
command claude --dangerously-skip-permissions "$@"
else
command claude "$@"
fi
}
Esto intercepta el primer argumento. Si es danger, sustituye la bandera completa. De lo contrario, pasa todo al binario real de claude sin cambios.
La palabra clave command es importante aquí. Le dice al shell que llame al binario real en lugar de a la función recursivamente.
Al final opté por los alias más sencillos cl y cld. Menos pulsaciones de teclas gana.
Ejemplos de uso
# Iniciar claude normalmente
cl
# Iniciar claude en modo peligroso
cld
# Pasar argumentos adicionales
cld -m "arreglar el error de autenticación"
cl -m "explicar esta función"
Aplica el patrón a cualquier cosa
Esto funciona para cualquier comando que escribas con frecuencia:
# Atajos de Docker
alias dc="docker compose"
alias dcu="docker compose up -d"
alias dcd="docker compose down"
# Atajos de Git
alias gs="git status"
alias gp="git push"
alias gl="git log --oneline -10"
Empieza con los comandos que más usas. Ejecuta history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10 para encontrar tus comandos más utilizados y crea un alias para los más largos.
Los alias de shell son una de las ganancias de productividad más sencillas en la terminal. Tres caracteres en lugar de cuarenta y dos se acumulan rápido.