¿Cómo creo un acceso directo que abre Cygwin bash shell en un directorio de mi elección (especialmente UNC)?


8

Dada una instalación estándar de Cygwin para Windows XP, me gustaría crear un acceso directo estándar de Explorer que abra un shell bash ya abierto en un directorio de mi elección. El directorio es una ruta UNC. El cygwin.bat estándar no funciona porque invoca cmd.exe y a cmd.exe no le gustan las rutas UNC. Idealmente, no inicia cmd.exe ni ningún otro shell para abrir bash. Intenté manipular .bashrc y dragar mi memoria de mis días de Unix, pero lamentablemente eso es lo que falta en estos días. Varias soluciones que he probado casi funcionan, pero no del todo.


Respuestas:


11

No he jugado con las rutas UNC, pero en general tienes que usar barras inclinadas hacia adelante en lugar de barras invertidas, creo. Para unidades normales, puede usar, /cygdrive/cpor ejemplo, para acceder a la unidad C.

En un archivo por lotes, para abrir el shell en la raíz de C:usted podría usar:

c:\cygwin\bin\bash.exe --login -i -c 'cd "/cygdrive/c";bash'

También puede estar interesado en chere una entrada de menú contextual para Open bash aquí :

texto alternativo


Otra razón para usar cherees que le permite elegir qué terminal desea abrir, el terminal predeterminado de Cygwin es un poco torpe IMO. En su lugar, tengo que abrir un terminal rxvt.
Nifle

Gracias por tu respuesta. Veo dónde uno de mis intentos salió mal: no; ¡bash después del CD! Gracias también por la entrada del menú contextual ...
Kit

Una gran herramienta cuando desea escribir un script para alguien pero no quiere abrir un indicador de shell y un CD en el directorio de trabajo.
Calculus Knight

1

Agregué una subcarpeta en el registro en HKEY_CLASSES_ROOT/Directory/shell, agregué clave Cygwincon clave commanddonde el valor del comando es

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.