cygwin: ~! = $ HOME

0

Quando inicio o cygwin, meu ~ dir é o mesmo que $ HOME. Depois de algum tempo, ~ dir changs, enquanto $ HOME permanece o mesmo. Estou intrigado com isso, não tenho certeza onde procurar. Talvez alguém tenha experimentado isso ou tenha alguma pista do que está acontecendo? Quando eu começo:

winuser@mybox ~
$ echo $HOME
/cygdrive/c/cyguser

winuser@mybox ~
$ echo ~
/cygdrive/c/cyguser

Mais tarde, ~ muda para / cygdrive / c / winuser, que é inexistente. Quando eu reiniciar o cygwin, tudo volta ao normal. O que poderia estar causando isso?

    
por user443854 03.04.2012 / 20:18

2 respostas

2

Seu arquivo /etc/passwd está errado; ele listará seu diretório inicial como /cygdrive/c/winuser . Corrigi-lo editando esse arquivo e corrigindo o campo.

Eu tive problemas semelhantes; O Cygwin bash não lê seu diretório home a partir do arquivo passwd na inicialização, então ~ está correto, mas certas coisas (eu nunca consegui descobrir exatamente o que) fará com que ele seja recarregado e reiniciado a partir desse arquivo, escolhendo o valor errado. Eu acho que é um efeito colateral de uma atualização de pacote um pouco suspeita, mas não tenho certeza.

    
por 04.04.2012 / 00:28
1

Se antes de instalar o cygwin você criar uma variável HOME como uma variável de ambiente do Windows, você pode apontar para onde quiser no seu PC Windows (o diretório deve existir).

Então, quando você instala o cygwin, ele leva isso em conta e cria um / etc / passwd correto para você.

Eu uso o subst para criar um alias de unidade para o meu diretório "Meus Documentos" do Windows:

H:\ => C:\Users\WINUSERNAME\Documents

depois, no Windows, defino

HOME=H:\

Isso então se torna

/cygdrive/h

no Cygwin, simples e sem espaços, etc, o que pode ser um pouco estranho.

A vantagem é que meu diretório pessoal no cygwin é idêntico ao "Meus Documentos".

    
por 21.05.2015 / 10:05

Tags