Iniciar sh.exe (bash) com o caminho fornecido

2

Eu preciso iniciar o git-bash (sh.exe) com um caminho predefinido em um ambiente Windows.

Para cmd.exe isso pode ser feito com um comando como:

cmd.exe /K "cd /d {PATH_GOES_HERE}"

Para o powershell.exe isso pode ser feito com este comando:

powershell.exe -noexit -command "cd '{PATH_GOES_HERE}'"

Mas eu não consegui fazer o mesmo com o git-bash, também conhecido como sh.exe. Eu tentei coisas como ...

sh.exe --login -i -c "cd {PATH_GOES_HERE}"

... mas não consegui que funcionasse.

A própria linha de comando funciona, digitando ...

sh.exe --login -i -c "ls"

... recebo a saída colorida do diretório

    
por Waescher 07.04.2017 / 16:01

2 respostas

1

Graças a uma dica do Michael D , eu instalei o Git com o recurso "Git Bash Here". Então eu olhei para cima do jeito que o Git faz ao navegar pelo registro em:

HKEY_CLASSES_ROOT\Directory\shell\git_shell\command

Isso me deu o comando para usar:

C:\Program Files\Git\git-bash.exe "--cd=%1"

Em que %1 representa o caminho fornecido pelo Windows Explorer.

Então tudo que eu tinha que fazer era pedir um comando como:

C:\Program Files\Git\git-bash.exe "--cd={PATH_GOES_HERE}"

Btw, não é necessário transformar os caminhos do Windows em coisas como /c/users/myuser/...

Isso significa que não estou usando sh.exe mas git-bash.exe a partir de agora.

Obrigado companheiros.

    
por 07.04.2017 / 23:33
0

bash está lendo o arquivo .bashrc no início.

  1. inicie sh.exe --login
  2. crie o arquivo .bashrc digitando echo "cd c/Windows/system32/" > ~/.bashrc
  3. logout (Ctrl + D)
  4. inicie sh.exe --login
  5. insira pwd deve ser c/Windows/system32/

O Windows AFAIK está protegendo a pasta \Program Files\ com o UAC. Pode ser necessário executar sh.exe como administrador ou instalar o git em C:\git (fora da pasta de arquivos do programa).

    
por 07.04.2017 / 16:48