Uma solução possível é alterar o diretório antes de abrir o git-bash. Por padrão, o git-bash é aberto em qualquer diretório atual. Para fazer isso, coloque uma chamada cd antes do start ,
cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"
Como isso está sendo feito no SAS, o diretório específico pode ser armazenado em uma variável de macro. Isso garante o requisito de estar dentro de 50 caracteres (e, portanto, pode ser chamado de uma tecla de atalho no menu KEYS ). Em algum lugar no seu código você pode atribuir o diretório de trabalho do Git,
%let gwd = C:\specific\dir\to\open;
A chamada %sysexec se parece com
%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Isso funciona da seguinte maneira. Primeiro, o SAS expandirá &gwd . Em seguida, ele abre um prompt de comando do Windows. O cd altera os diretórios para qualquer que seja o &gwd. resolvido. O Git-bash então abre no diretório atual (que foi alterado para &gwd. ). Finalmente, sempre que o git-bash é fechado, o comando exit é fornecido, fechando a sessão do Prompt de Comando do Windows.
Infelizmente, parece que a inicial cd introduz apenas atraso suficiente entre a chamada e a abertura do git-bash para ser irritante. Eu suspeito que a emissão de um comando cd dentro do git-bash pode ser mais rápido, mas esta abordagem funciona.