
Puedo iniciar git-bash a través del símbolo del sistema de Windows de varias maneras:
"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"
Me gustaría iniciar git-bash en un directorio particular usando dicha llamada.
Para contextualizar, estoy haciendo esto desde SAS Enhanced Editor. La llamada real es
%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Para aquellos que no están familiarizados con SAS, %sysexec
abre una instancia del símbolo del sistema de Windows y emite cualquier comando que se proporcione como argumento. Funciona sorprendentemente bien. Sin embargo, me gustaría poder iniciar git-bash en un directorio particular, no solo en casa.
Para ello, puedo crear una entrada en .bashrc
:
cd /c/new/starting/dir
Sin embargo, el problema al hacer esto es que cada vez que abro un git-bash, por ejemplo a través del menú contextual en una carpeta en particular, el directorio predeterminado es el de .bashrc
.
veo queexisten opciones de inicio de git-bashMe gusta --cd-to-home
o --cd=<path>
pero no puedo hacerlos funcionar. Por ejemplo,
"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.
¿Es posible iniciar git-bash en un directorio particular desde el símbolo del sistema de Windows? Si es así, ¿cuál es la sintaxis adecuada?
PRIMA: Puntos de bonificación por hacerlo en 50 caracteres o menos
Respuesta1
"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder
Respuesta2
Una posible solución es cambiar el directorio antes de abrir git-bash. De forma predeterminada, git-bash se abre en cualquier directorio actual. Para hacer esto, haga una cd
llamada antes del start
,
cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"
Dado que esto se hace en SAS, el directorio específico se puede almacenar en una variable macro. Esto garantiza el requisito de estar dentro de los 50 caracteres (y por lo tanto se puede llamar desde una tecla de acceso rápido en el KEYS
menú). En algún lugar de su código puede asignar el directorio de trabajo de Git,
%let gwd = C:\specific\dir\to\open;
La %sysexec
llamada entonces parece
%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Esto funciona de la siguiente manera. Primero, SAS se expandirá &gwd
. Luego abre un símbolo del sistema de Windows. Los cd
directorios de cambios a lo que &gwd.
se resolvió. Luego, Git-bash se abre en el directorio actual (que se cambió a &gwd.
). Finalmente, cada vez que se cierra git-bash, exit
se da el comando, cerrando la sesión del símbolo del sistema de Windows.
Desafortunadamente, parece que la inicial cd
introduce un retraso suficiente entre la llamada y la apertura de git-bash como para resultar molesto. Sospecho que emitir un cd
comando dentro de git-bash podría ser más rápido, pero este enfoque funciona.
Respuesta3
Puedes crear un script como este:
cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe"
Guárdelo como o whatever.cmd
y whatever.bat
haga doble clic en él.
Para mayor comodidad, puede agregar su secuencia de comandos a la barra de tareas siguiendo los pasos a continuación. Pensé en incluir esto ya que no es tan fácil como cabría esperar (no se puede simplemente arrastrar el script a la barra de tareas):
- haga clic derecho en el script y seleccione "Crear acceso directo"
- Haga clic derecho en el acceso directo que creó y seleccione "Propiedades".
- En Acceso directo, Destino, ingrese:
cmd /c C:\path\to\your\script\whatever.cmd
- Nota: es posible que deba especificar la ruta completa acmd(por ejemplo, C:\Windows\System32\cmd.exe...)
Ahora simplemente haga clic en el comando en su barra de tareas para ejecutar su script con un solo clic.