
Recientemente cambié de OSX a Linux para mi uso personal. Tengo un servidor de medios doméstico que ejecuta Ubuntu sin cabeza y ahora una computadora portátil que ejecuta Mint. Mi costumbre es mover cosas al servidor con scp
. En el pasado, en OSX, cuando escribía para copiar el destino, escribía minuciosamente cada carácter de la ruta, porque si por costumbre intentaba completar con tabulación la máquina se ponía de mal humor y tenía que empezar de nuevo. Sin embargo, acabo de configurar las claves ssh de mi nueva computadora y estaba en el proceso de scp
transferir un archivo de la computadora portátil al servidor, cuando accidentalmente presioné la pestaña y, para mi sorpresa, ¡completó la ruta correctamente! ¿Es este comportamiento normal? ¿Por qué no funcionó en term2 en OSX? Tenga en cuenta que tenía una conexión abierta al servidor en otra ventana de terminal.
Respuesta1
Esta es la finalización de comandos de su shell en acción: "sabe" que cuando la línea de comandos actual comienza con scp
, en ciertos contextos necesita conectarse al sistema de destino (si puede) para completar las rutas allí. Esto se puede hacer de forma transparente porque ha cargado su clave.
Verás que esto generalmente se implementa en /usr/share/bash-completion/completions/scp
(si estás usando Bash) o /usr/share/zsh/functions/Completion/Unix/_ssh
(para Zsh).