Cómo detectar GIT_DIR y GIT_WORK_TREE correctos del repository principal de Git en un submodule

Me gustaría implementar un submodule en GNU Bash para verificar todos los scripts GNU Bash en el repository principal, excluyendo todos los scripts Bash de los submodules.

Ya sé que git ls-files -z \*.bash hará el trabajo correctamente, el problema es que no sé cómo detectar las variables de entorno GIT_DIR y GIT_WORK_TREE exactas del repository principal para exportar. ¿Cómo lograrlo?

Encontré una manera de resolver este problema, simplemente cambie el directory de trabajo al directory padre del GIT_WORK_TREE actual (que ahora deberíamos estar en el tree de trabajo del repository padre), luego llame a la git worktree list --porcelain | grep worktree | cut -f 2- -d ' ' git worktree list --porcelain | grep worktree | cut -f 2- -d ' ' git worktree list --porcelain | grep worktree | cut -f 2- -d ' ' para search el tree de trabajo del repository padre.

Sin embargo, este podría no ser un buen método.