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 /cygdrive
pero eso no soluciona el problema.
ACTUALIZACIÓN: Aquí hay algo más interesante. Si lo hago ls /c
desde un símbolo del sistema de Windows, obtengo lo que esperarías, como una lista de todo en C :. Sin embargo, ls /cygdrive/c
dice que no existe. Ejecutar esos comandos desde cygwin bash produce exactamente el comportamiento opuesto.
ls
yscp
, que no ve desde adentro de bash porque proviene de Cygwin y pone a Cygwin/bin
por delantePATH
en el inicio?set PATH=C:\cygwin\bin;%PATH%
lugar de `set PATH =% PATH $; C: \ cygwin \ bin.set PATH=C:\cygwin\bin;%PATH%
lugar deset PATH=%PATH$;C:\cygwin\bin
Respuestas:
Parece que tu
scp
y losls
comandos no son versiones de Cygwin. Presumiblemente, comienzasbash
, tus scripts de inicio cambianPATH
para poner Cygwin/bin
al frente, mientras que de lo contrario tienesPATH
versiones que no son de Cygwinscp
yls
desde el principio.fuente