Git alias no puede encontrar el file de script bash aunque está en PATH

Quiero llamar a una function bash desde el shell git bash, usando un alias git, así que hice que mi file .gitconfig se vea así:

[alias] jjj = "!f() { source "test_script.sh"; foo $@; }; f;" st = status 

Mi test_script.sh está en

 /c/Users/myname/scripts/ 

El file test_script.sh se ve así:

 #!/bin/bash function foo { echo "This is a test script, calling foo!!!"; } 

Mi ruta se ve así:

 /c/Users/myname/bin:/mingw64/bin:/usr/local/bin:/usr/bin:/bin:/mingw64/bin:/usr/bin:/c/Users/myname/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/WINDOWS/System32/WindowsPowerShell/v1.0:/c/Program Files/nodejs:/cmd:/c/Program Files (x86)/Brackets/command:/c/Program Files/Java/jdk1.8.0_111/bin:%APPDATA%/../Local/Android/sdk/platform-tools:/c/Users/myname/scripts:/c/Users/myname/AppData/Roaming:/c/Users/myname/scripts:/usr/bin/vendor_perl:/usr/bin/core_perl:/c/Users/myname/scripts 

Lo que obtengo al ejecutar: git jjj es:

 f() { source 'test_script.sh' && foo $@; }; f;: line 0: source: test_script.sh: file not found 

Este error es a pesar de tener la ruta a mi file test_script.sh en mi variable de entorno PATH. Tenga en count que cuando ejecuto test_script.sh desde cualquier lugar, consigo activar el test_script.sh

P: ¿Cómo puedo resolver esto o mejor depurar esto? esto me está conduciendo sándwich de plátano

Mi configuration es:

  • Sistema operativo: Windows 10
  • Versión de Git: 2.11.0.windows.1

Si no desea utilizar la ruta absoluta del file (porque desea que el alias sea reutilizable en un context diferente), debe verificar cuál es realmente su RUTA.

Reemplace su alias con echo $PATH; shopt sourcepath echo $PATH; shopt sourcepath

Eso verificará tanto su PATH como si se permite el uso de la source (consulte man bash : si la opción sourcepath al command shopt está desactivada, no se busca la shopt )

Como se ve en los comentarios, el PATH no se exportó (por lo que los subprocesss como el generado por el alias, no henetworkingaron dicha variable)

Y agregarlo ( export PATH=... ) en .bashrc no fue suficiente.

Al ver " Bash no lee .bashrc less que se haya iniciado manualmente " y bashrc no se cargó en /bin/bash shell , necesita un %USERPROFILE%\.bash_profile el .bashrc .