El shell de Linux tiene varios operadores para redirigir o canalizar la salida de los comandos a un archivo. En esta guía, le mostraré varias formas de redirigir la salida de eco a un archivo. Reemplazaremos el contenido de un archivo con la salida de eco, luego agregaremos texto a un archivo existente usando eco y finalmente, enviaremos texto a un archivo en un sistema remoto por SSH. Todos los ejemplos que se muestran aquí funcionan en cualquier distribución de Linux como Ubuntu, Debian, Linux Mint, Rocky Linux, etc.
Echo en archivo
El “> El operador ” se usa para reemplazar el contenido de un archivo con el texto que devuelve el comando echo.
Sintaxis:
echo "some text here" > /path/to/file
Ejemplo:
$ echo "Greetings from Vitux.com" > /tmp/test.txt
El comando no mostrará ningún resultado en el shell, toda la salida se guarda en el archivo. Ahora revisa el contenido de nuestro archivo /tmp/test.txt. Usaré el comando cat:
cat /tmp/test.txt
Agregue más contenido al archivo usando Echo
En el segundo ejemplo, agregaré contenido a nuestro archivo /tmp/test.txt sin reemplazar el contenido. el contenido se agregará al final del archivo. El operador utilizado para agregar contenido es “>> “.
Sintaxis:
echo "Some text to be appended" >> /path/to/file
Ejemplo:
echo "More text from Vitux here" >> /tmp/test.txt
El comando anterior agrega el texto "Más texto de Vitux aquí" al archivo /tmp/test.txt. El archivo test.txt ya contiene el texto "Saludos desde Vitux.com" de nuestro primer ejemplo. Ahora veamos qué hay en el archivo, usaré el comando cat nuevamente para mostrar el contenido del archivo en el shell
cat /tmp/test.txt
Echo en archivo en sistema remoto
A veces, es posible que desee escribir texto en un archivo que se encuentra en otro sistema Linux. Siempre que ambos sistemas estén conectados a través de una LAN o Internet, puede usar SSH para hacerlo. El comando ssh tiene el interruptor de línea de comando -f para pasar comandos directamente por ssh y luego ir al fondo, lo que le permite ingresar una contraseña (si es necesario).
Ejemplo:
ssh [email protected] -f 'echo "Text added via SSH" >> /tmp/test.txt'
Donde "usuario" es el nombre de usuario con el que desea iniciar sesión en el servidor o escritorio remoto. Reemplace la palabra "sistema remoto" con el nombre de host o la dirección IP de la computadora remota.
Ejecuté el comando en un sistema remoto para agregar texto a nuestro archivo test.txt. El resultado es:
Ahora ha aprendido cómo hacer eco de texto en un archivo en el sistema local y también cómo hacerlo en un sistema remoto a través de SSH.