Como crear un comando personalizado en ZSHComo crear un comando personalizado en ZSH

Como crear un comando personalizado en ZSH

Tags
Linux
zsh
Published
Published January 27, 2021
URL

Crear el comando personalizado (Para zsh es una función)

  1. Abrir el archivo .zshrc
  1. Al final (o donde quieras) definí la función con el nombre de tu comando.
function start() { if [ -n "$1" ] # Si la función fue llamada con argumentos: then git flow feature start "$1" else echo "Pasá un nombre de branch" fi } # Ejemplo start > Pasá un nombre de branch start new-feature > Se ejecuta "git flow feature start new-feature"
3. Por último, para "avisarle" a zsh que esta función existe ejecutamos source .zshrc (Si estamos en nuestro home)

Utilizar variables y otros programas dentro de nuestro comando

La contraparte del ejemplo de arriba es un poco más compleja pero sirve para ver otros tips.
function finish() { # Guarda en "branch" el nombre del branch actual local branch=$(git rev-parse --abbrev-ref HEAD) if [ $branch != "develop" ] then git flow feature finish -F else echo "Estás en $branch perro" fi } # Ejemplo # En un repo git en la rama "develop" (develop) finish > Estás en develop perro (new-feature) finish > Se ejecuta "git flow feature finish new-feature -F"

Debugging 🐛

zsh provee un debugger para probar nuestros comandos.
  1. functions -t <nombre_del_comando>
  1. Cuando ejecutamos nuestro comando, zsh imprime cada línea de la función que se ejecuta reemplazando las variables por los valores reales.
functions -t finish finish +finish:2> git rev-parse --abbrev-ref HEAD +finish:2> local branch=develop +finish:4> [ develop '!=' develop ']' +finish:8> echo 'Estás en develop perro' Estás en develop perro