¿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 in
tuvo algo que ver con el directorio de trabajo en el que un programa cree que está.Git Bash utiliza
cmd.exe
para su terminal más extensiones de MSYS / MinGW que son proporcionadas porsh.exe
una especie decmd.exe
contenedor. En Windows, inicia una nueva terminal usando elstart
comando.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" --login
Para 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
cd
al directorio donde quiero que se inicie Git Bash, y luego ejecutar elstart
comando en su ejemplo realmente me dará una terminal Git Bash en ese directorio. ¿Está seguro de que no está haciendo uncd $HOME
(ocd
sin 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:\path
no será suficiente, debe hacerlox:
y luegocd \path
antesstart
cd x:\path
. Editaré mi solución en consecuencia.cmd.exe
configuració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 (Defaults
del 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,OK
encmd.exe
'configuración,Cancel
enGit 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
%1
parámetro de registro?Sumamos aún la respuesta de @Drew Noakes:
Objetivo:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
El
cd
parámetro debe ser una de las opciones para especificar el directorio de trabajo.También tenga en cuenta que no tengo ningún
--login
pará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
.lnk
archivo, 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") && exit
Terminé 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:
Bash
en lashell
clave enHKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(¡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.Bash
del texto que desea usar en el menú contextualBash
llamadacommand
command
el valor predeterminado acmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Entonces debería poder cerrar el registro y comenzar a usar Git Bash desde cualquier lugar que sea un directorio real. Por ejemplo,
This PC
no es un directorio real.fuente
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
es"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.bat
script:cmd /c (start /d "/path/to/dir" bash --login) && exit
fuente
/b
para Win 10No estoy familiarizado con Git Bash, pero asumiendo que es un shell de git (como
git-sh
) que reside en/path/to/my/gitshell
y 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
-e
de ejecución puede tener un nombre diferente con su programa de terminal favorito.fuente
myterm
es cmd.exe con adiciones a través de MSYS / MinGW. Para iniciar un nuevo cmd, use elstart
comando específico de Windows seguido de la ruta a Git Bashsh.exe
y 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