¿Cómo puedo iniciar una nueva ventana de Git Bash con un directorio de trabajo específico usando un script (ya sea Bash o lote de Windows)?
Mi objetivo es lanzar múltiples ventanas de Git Bash desde un solo script, cada uno configurado en un directorio de trabajo diferente. De esta manera, puedo ponerme a trabajar rápidamente después de arrancar la computadora en lugar de tener que abrir las ventanas de Git Bash y navegar cada una al directorio de trabajo correcto.
No estoy preguntando cómo cambiar el directorio de trabajo predeterminado, como lo hace esta pregunta , sino para iniciar una o más ventanas de terminal con diferentes directorios de trabajo desde un script.
bash
shell
batch-file
git-bash
holocronweaver
fuente
fuente

Respuestas:
Otra opción es crear un atajo con las siguientes propiedades:
El objetivo debe ser:
Iniciar es la carpeta en la que desea que se inicie el indicador de Git Bash.
fuente
Start intuvo algo que ver con el directorio de trabajo en el que un programa cree que está.Git Bash utiliza
cmd.exepara su terminal más extensiones de MSYS / MinGW que son proporcionadas porsh.exeuna especie decmd.execontenedor. En Windows, inicia una nueva terminal usando elstartcomando.Por lo tanto, un script de shell que lanza una nueva terminal Git Bash con un directorio de trabajo específico es:
(cd C:/path/to/dir1 && start sh --login) & (cd D:/path/to/dir2 && start sh --login) &Un script por lotes de Windows equivalente es:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --loginPara obtener la misma fuente y tamaño de ventana que el Git Bash lanzado desde el menú de inicio, es más fácil copiar la configuración del acceso directo del menú de inicio a los valores predeterminados de la consola de comandos (para cambiar los valores predeterminados, abra
cmd.exe, haga clic con el botón izquierdo en el icono superior izquierdo y seleccione Valores predeterminados).fuente
cdal directorio donde quiero que se inicie Git Bash, y luego ejecutar elstartcomando en su ejemplo realmente me dará una terminal Git Bash en ese directorio. ¿Está seguro de que no está haciendo uncd $HOME(ocdsin argumentos) en algún lugar de sus archivos bash rc? (Al igual que.bashrc,.profile, ...) También hay que tener en cuenta la letra de unidad. Si desea iniciar Git Bash en laX:unidad, entonces hacerlocd x:\pathno será suficiente, debe hacerlox:y luegocd \pathantesstartcd x:\path. Editaré mi solución en consecuencia.cmd.execonfiguración predeterminada no es la misma que la configuración predeterminada de Git Bash en la instalación de Git Bash. Y debe comprender las diferencias entre la configuración predeterminada (Defaultsdel menú contextual) y la actual (Properties). Entonces, lo que hice fue: (1) abrir Git Bash, seleccionarProperties(configuración actual), (2) modificarlo, exactamente, lo que quiero (fuente, tamaño de ventana + posición), (3) abrircmd.exe, seleccionarDefaults, (4 ) copiar y pegar la configuración de Git Bash acmd.exe. Luego,OKencmd.exe'configuración,CancelenGit Bash' s configuración y ¡listo!Prueba la opción --cd =. Suponiendo que su GIT Bash reside en C: \ Archivos de programa \ Git, sería:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"Si se usa dentro de la clave de registro, el parámetro de carpeta se puede proporcionar con% 1:
"C:\Program Files\Git\git-bash.exe" --cd="%1"fuente
%1parámetro de registro?Sumamos aún la respuesta de @Drew Noakes:
Objetivo:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepoEl
cdparámetro debe ser una de las opciones para especificar el directorio de trabajo.También tenga en cuenta que no tengo ningún
--loginparámetro allí: en su lugar, uso otra aplicación adicional, dedicada solo para claves SSH: Pageant (agente de autenticación PuTTY) .Empezar en:
De la misma manera posible, como @Drew Noakes mencionó / mostró aquí antes, yo también lo uso.
Tecla de acceso directo:
Estos atajos son otra característica menos conocida en Windows. Pero hay una restricción: para que el acceso directo surta efecto, debe ubicarse en algún lugar del subdirectorio del usuario: el escritorio está bien.
Si no lo desea visible, pero aún activable, coloque este
.lnkarchivo, es decir, en la carpeta de inicio rápido, ya que ese directorio está destinado a tales accesos directos. (no importa si se muestra en el escritorio) # 76080 # 3619355"\Application Data\Microsoft\Internet Explorer\Quick Launch\"fuente
Además, Win10 te da la opción de abrir git bash desde tu directorio de trabajo haciendo clic derecho en tu carpeta y seleccionando GitBash aquí.
fuente
Windows 10
Esta es básicamente la respuesta de @ lengxuehx, pero actualizada para Win 10, y asume que su instalación de bash es de Git Bash para Windows desde las descargas oficiales de git .
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exitTerminé usando esto después de perder mis elementos del menú contextual para Git Bash como mi comando para ejecutar desde la configuración del registro. En caso de que sienta curiosidad por eso, hice esto:
Bashen lashellclave enHKEY_CLASSES_ROOT\Directory\Background\shellIcon(¡no una clave nueva!) Que es la ruta completa a su git-bash.exe, incluida la parte git-bash.exe. Es posible que deba envolver esto entre comillas.Bashdel texto que desea usar en el menú contextualBashllamadacommandcommandel valor predeterminado acmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exitEntonces debería poder cerrar el registro y comenzar a usar Git Bash desde cualquier lugar que sea un directorio real. Por ejemplo,
This PCno es un directorio real.fuente
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\commandes"C:\Program Files\Git\git-bash.exe" "--cd=%v."Este es el comando que se puede ejecutar directamente en
Run dialog box(el atajo es win+ R) y también funciona bien guardado como un.batscript:cmd /c (start /d "/path/to/dir" bash --login) && exitfuente
/bpara Win 10No estoy familiarizado con Git Bash, pero asumiendo que es un shell de git (como
git-sh) que reside en/path/to/my/gitshelly su programa de terminal favorito se llama `myterm ', puede escribir lo siguiente:(cd dir1; myterm -e /path/to/my/gitshell) & (cd dir2; myterm -e /path/to/my/gitshell) & ...Tenga en cuenta que el parámetro
-ede ejecución puede tener un nombre diferente con su programa de terminal favorito.fuente
mytermes cmd.exe con adiciones a través de MSYS / MinGW. Para iniciar un nuevo cmd, use elstartcomando específico de Windows seguido de la ruta a Git Bashsh.exey luego cualquier opción de línea de comando que desee. Mi respuesta da detalles.Podría haber dado una dirección equivocada, pero me gusta este truco.
Usando el Explorador de Windows, señalando cualquier directorio que desee, escriba "cmd" en la barra de direcciones y se abrirá el símbolo del sistema de Windows en ese directorio.
Si tiene el directorio "Git" en su ruta, de la misma manera, puede escribir "git-bash" en la barra de direcciones y se abrirá un Git Shell en ese directorio.
fuente