Alias ​​múltiples commands en Linux

Estoy administrando un website usando git . Uno de los requisitos para el git repository es que bare = true . Utiliza un gancho posterior a la recepción para gestionar los impulsos desde mi computadora local. El problema es que a veces me gustaría hacer cambios en un directory de WordPress en mi website usando la vista de wp-admin en línea. Entonces, simplemente ssh al directory y ejecutaré git --work-tree="BLAH" add . y git --work-tree="BLAH" commit -m "BLAH" . ¿Hay alguna manera de configurar un alias, como alias git="git --work-tree=\"BLAH\"" y hacer que funcione para todos los commands de git ?

Hay momentos en que el alias es una gran herramienta. Luego, hay momentos en los que las cosas se vuelven demasiado complicadas donde un script de shell es mejor.

Para crear un solo command que ejecute otros commands, simplemente cree un file (tal vez git-add-all ) y luego escriba lo siguiente:

 #! /bin/bash git --work-tree="BLAH" add . git --work-tree="BLAH" commit -m "BLAH" 

Luego puede ejecutar el script simplemente haciendo:

 bash git-add-all 

Mejor aún, haz el script ejecutable:

 chmod +x git-add-all 

Entonces puedes usarlo como cualquier command:

 ./git-add-all 

Consejos avanzados:

Para poder ejecutar el script desde cualquier directory de git, puede copyr / mover el file a uno de los directorys en $PATH . Por ejemplo /usr/loca/bin . Entonces simplemente puede ejecutar git-add-all lugar de ./git-add-all .

Aún mejor es crear su propio directory de scripts personales e includelo en $PATH . Personalmente uso ~/bin . Para agregar el directory a $PATH , solo necesita agregar lo siguiente a .bashrc o .profile :

 export PATH=/home/username/bin:$PATH 

o si estás haciendo esto para el usuario raíz:

 export PATH=/root/bin:$PATH 

En caso de que alguien tenga curiosidad por cómo lo resolví (gracias al comentario de shellter ), escribí un guión bash y luego pedí al usuario que me ingresara así:

 #!/bin/bash function fix { git --work-tree="PATH_TO_WORKING_TREE" $1 } echo -n "git " read -e INPUT until [ "$INPUT" = "quit" ]; do fix $INPUT echo -n "git " read -e INPUT done 

Correrlo:

 user@server [repo.git] $ git-fix git status # On branch master nothing to commit (working directory clean) git quit 

Hay un file .bashrc en Linux . Puede editarlo para crear alias para sus commands favoritos y de uso frecuente.

Para crear un alias permanentemente agregue el alias a su file .bashrc

 gedit ~/.bashrc 

El alias debería verse así:

 alias al='cmd' 

Puedes leer más sobre esto aquí .