2 votos

¿Cliente FTP de línea de comandos confundido por la tilde?

Me he dado cuenta de este comportamiento realmente extraño en el cliente ftp de la línea de comandos de MacOS...

get index.html ~/Desktop/index.html

falla si no existe 'index.html' en el Escritorio con el error

ftp: Can't access `~/Desktop/index.html': No such file or directory

pero

get index.html /Users/fweth/Desktop/index.html

¡tiene éxito! Después, también puedo utilizar el primer comando para actualizar el archivo local. ¿Puede alguien explicarme esto?

3voto

Douglas Puntos 10417

Lo que está viendo es el comportamiento esperado.

El tilde (~) es una parte de la sintaxis estándar del shell que es sinónimo del directorio personal del usuario.

La expansión de la tilde es el proceso de convertir estas abreviaturas en los nombres de directorio que representan.

Cuando estás en FTP, no estás usando tu shell (bash, csh, zsh, etc.), sino que estás usando el cliente FTP y éste no tiene ni idea de lo que significa la tilde y, por tanto, no puede expandirla.

~ y HOME son la misma cosa. Si ejecuta el comando

$ echo ~ $HOME

Debería obtener la salida de su directorio principal dos veces. (El $ es para la expansión variable)

/Users/fweth /Users/fweth

Trivia

La convención de utilizar la tilde (~) deriva del Terminal Lear Siegler ADM-3A que tenía un atajo de teclado para el INICIO de los usuarios en la misma tecla que la tilde.

enter image description here

0 votos

Ya veo, pero lo curioso es que después de crear el archivo, me puede acceder a través de la notación de tilde, también desde el cliente ftp... Pero muchas gracias por la respuesta detallada.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X