Como crio um atalho que abre o Cygwin bash shell em um diretório de minha escolha (UNC especialmente)?


8

Dada uma instalação padrão do Cygwin para Windows XP, eu gostaria de criar um atalho padrão do Explorer que abra um shell bash já aberto em um diretório de minha escolha. O diretório é um caminho UNC. O cygwin.bat padrão não funciona porque invoca o cmd.exe e o cmd.exe não gosta de caminhos UNC. Idealmente, ele não inicia o cmd.exe ou qualquer outro shell para abrir o bash. Eu tentei manipular .bashrc e dragar minha memória dos meus dias no Unix, mas infelizmente isso está faltando nos dias de hoje. Várias soluções que tentei estão quase funcionando, mas não completamente.


Respostas:


11

Eu não brinquei com os caminhos UNC, mas em geral você precisa usar barras invertidas em vez de barras invertidas, acredito. Para unidades regulares, você pode usar, /cygdrive/cpor exemplo, para acessar a unidade C.

Em um arquivo em lotes, para abrir o shell na raiz, C:você pode usar:

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

Você também pode estar interessado em chere uma entrada de menu de contexto para o Open bash aqui :

texto alternativo


Outro motivo para usar chereé que ele permite que você escolha o terminal que deseja abrir; o terminal cygwin padrão é um IMO um pouco desajeitado. Eu tenho que abrir um terminal rxvt.
Nifle 3/03/10

Obrigado pela sua resposta. Vejo onde uma das minhas tentativas deu errado: não; festança após o CD! Obrigado também pela entrada do menu de contexto ...
Kit

Uma ótima ferramenta quando você deseja escrever algum script para alguém, mas ele não deseja abrir um prompt de shell e fazer o cd no diretório de trabalho.
Cálculo Cavaleiro

1

Adicionei uma subpasta no registro em HKEY_CLASSES_ROOT/Directory/shell, adicionei chave Cygwincom chave commandonde o valor do comando é

cmd.exe /k "E:\PATHTOCYGWIN\bin\bash --login -i -c "cd ""%L"";bash""
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.