
Consigo iniciar o git-bash através do prompt de comando do Windows de várias maneiras:
"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"
Eu gostaria de iniciar o git-bash em um diretório específico usando essa chamada.
Para contextualizar, estou fazendo isso no SAS Enhanced Editor. A chamada real é
%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Para quem não está familiarizado com o SAS, %sysexec
abre uma instância do Prompt de Comando do Windows e emite qualquer comando fornecido como argumento. Funciona surpreendentemente bem. No entanto, eu gostaria de poder iniciar o git-bash em um diretório específico, não apenas em casa.
Para esse fim, posso criar uma entrada em .bashrc
:
cd /c/new/starting/dir
O problema de fazer isso, porém, é que sempre que abro um git-bash, como por meio do menu de contexto em uma pasta específica, o diretório padrão é o .bashrc
.
eu vejo issoexistem opções de início do git-bashgosto --cd-to-home
ou --cd=<path>
mas não consigo fazê-los funcionar. Por exemplo,
"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.
É possível iniciar o git-bash em um diretório específico no prompt de comando do Windows? Em caso afirmativo, qual é a sintaxe correta?
BÔNUS: Pontos de bônus por fazer isso em 50 caracteres ou menos
Responder1
"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder
Responder2
Uma solução possível é alterar o diretório antes de abrir o git-bash. Por padrão, o git-bash abre em qualquer diretório atual. Para fazer isso, coloque uma cd
chamada 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 macro. Isso garante o requisito de ter até 50 caracteres (e, portanto, chamável a partir de uma tecla de atalho no KEYS
menu). Em algum lugar do seu código você pode atribuir o diretório de trabalho do Git,
%let gwd = C:\specific\dir\to\open;
A %sysexec
chamada então parece
%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Isso funciona da seguinte maneira. Primeiro, o SAS irá expandir &gwd
. Em seguida, ele abre um prompt de comando do Windows. Os cd
diretórios mudam para o que &gwd.
for resolvido. O Git-bash é então aberto no diretório atual (que foi alterado para &gwd.
). Finalmente, sempre que o git-bash fecha, o exit
comando é dado, fechando a sessão do Prompt de Comando do Windows.
Infelizmente, parece que a inicial cd
introduz um atraso suficiente entre a chamada e a abertura do git-bash para ser irritante. Suspeito que emitir um cd
comando no git-bash possa ser mais rápido, mas essa abordagem funciona.
Responder3
Você pode criar um script como este:
cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe"
Salve como whatever.cmd
ou whatever.bat
e clique duas vezes nele.
Por conveniência, você pode adicionar seu script à barra de tarefas seguindo as etapas abaixo. Pensei em incluir isso, pois não é tão fácil quanto você poderia esperar (não é possível simplesmente arrastar o script para a barra de tarefas):
- clique com o botão direito no script e selecione "Criar atalho"
- clique com o botão direito no atalho que você criou e selecione "Propriedades"
- Em Atalho, Destino, digite:
cmd /c C:\path\to\your\script\whatever.cmd
- Observação: pode ser necessário especificar o caminho completo paracmd(por exemplo, C:\Windows\System32\cmd.exe...)
Agora basta clicar no comando na barra de tarefas para executar o script com um clique.