cygwin rutas cygdrive y símbolo del sistema de Windows [duplicado]

1

Posible duplicado:
rutas cygwin cygdrive y símbolo del sistema de Windows

Tengo un problema extraño con cygwin que actúa de manera inconsistente entre las instalaciones, específicamente scp. Tengo c: \ cygwin \ bin en mi RUTA de Windows en ambos casos. Sin embargo, cuando ejecuto el siguiente comando desde un símbolo del sistema de Windows , obtengo resultados muy diferentes entre las dos instalaciones:

scp /cygdrive/c/something.txt User@server:${HOME}/something.txt

En una máquina transfiere el archivo muy bien, pero en la otra máquina aparece un error:

/cygdrive/c/something.txt: No such file or directory

Sin embargo, si ejecuto el comando de esta manera en la máquina que me dio el error, se transfiere muy bien:

scp /c/something.txt User@server:${HOME}/something.txt

¿Por qué las diferencias? ¿Hay algo que deba configurar dentro de cygwin para que esto funcione con / cygdrive / c?

He intentado correr mount --change-cygdrive-prefix /cygdrivepero eso no soluciona el problema.

ACTUALIZACIÓN: Aquí hay algo más interesante. Si lo hago ls /cdesde un símbolo del sistema de Windows, obtengo lo que esperarías, como una lista de todo en C :. Sin embargo, ls /cygdrive/cdice que no existe. Ejecutar esos comandos desde cygwin bash produce exactamente el comportamiento opuesto.

Matt Baker
fuente
¿Ha descartado diferentes versiones (no Cygwin) de lsy scp, que no ve desde adentro de bash porque proviene de Cygwin y pone a Cygwin /binpor delante PATHen el inicio?
Gilles
publique esto como respuesta y le daré un representante. Este problema se solucionó cuando lo hice en set PATH=C:\cygwin\bin;%PATH%lugar de `set PATH =% PATH $; C: \ cygwin \ bin.
Matt Baker
Debe decir @Gilles si desea que alguien vea un comentario (a menos que se adjunte a una respuesta o pregunta suya).
Dennis Williamson
Vaya, que mal. Gracias @Gilles. Si publica esto como respuesta, le daré un representante. Este problema se solucionó cuando lo hice en set PATH=C:\cygwin\bin;%PATH%lugar deset PATH=%PATH$;C:\cygwin\bin
Matt Baker

Respuestas:

2

Parece que tu scpy los lscomandos no son versiones de Cygwin. Presumiblemente, comienzas bash, tus scripts de inicio cambian PATHpara poner Cygwin /binal frente, mientras que de lo contrario tienes PATHversiones que no son de Cygwin scpy lsdesde el principio.

Gilles
fuente