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.