Estoy intentando agregar un alias de git complejo que hará eco de los posts a medida que ejecuta los commands. Me gustaría colorear algunos de los posts (rojo por error, etc.).
[alias] test = !"f() { echo "\033[31mHello\033[0m World"; }; f"
Sin embargo, cuando ejecuto el alias recibo un error:
bad config line X in file .gitconfig`
Ejecutando el mismo command echo "\033[31mHello\033[0m World"
en el terminal se colorea muy bien.
Las barras diagonales tienen que ser escapadas. De los documentos de git-config …
Dentro de comillas dobles, comillas dobles "y barras invertidas \ caracteres deben ser escapadas: use \" para "y \ para.
Se reconocen las siguientes secuencias de escape (junto a \ "y \): \ n para el carácter de nueva línea (NL), \ t para la tabulación horizontal (HT, TAB) y \ b para el retroceso (BS). Otras secuencias de escape de caracteres (incluido el escape octal secuencias) no son válidas.
Esto funcionará
test = !"f() { echo \"\\033[31mHello\\033[0m World\"; }; f"
Pero si sus alias son tan complicados que necesita definir funciones que pueden convertirse en un gran desastre. Recomiendo poner esas funciones en su propio file y searchlas.
test = !"source ~/.gitfuncs; f" $ cat ~/.gitfuncs f() { echo "\033[31mHello\033[0m World"; };