A vueltas con el nombre

Quiero suponer que no soy el único que reutiliza código, funciones y scripts para evitar reinventar la rueda una y mil veces. En mi caso, guardo unas cuantas líneas de código de una práctica del siglo pasado, varias funciones de cuando empezaba a conocer el shell bash y una «mecánica de obtener los datos más comunes» que lleva vigente casi dos décadas.

¿A dónde quiero llegar con esto? A que quizá, tal vez, debería revisar esas líneas de código cada cierto tiempo. Más concretamente cada lustro. Os pongo un par de ejemplos que me han hecho ver la importancia de la actualización del código reciclado.

La dirección IP

Un clásico, necesitas conocer la dirección IP de la máquina porque mil posibles motivos. Hasta la fecha, yo utilizaba esta línea:

Sencillo, ¿verdad? Esa línea devuelve la dirección IP y la almacena en una variable. Rápido y limpio.

El nombre y los apellidos

Para el FQDN (Full Qualified Domain Name) y el nombre de la máquina (hostname) tenía las siguientes líneas. Tengo que advertir que la tercera línea no es mía (aunque me gustaría), apareció en mi buscador automágicamente y quedé embelesado de su belleza, así que la uní a la biblioteca de código.

Al igual que con la dirección IP resulta sencillo pegarlas en un script y utilizarlas sin más, sin preguntarte si hay una forma mejor de obtener la información.

Nota: estas líneas dependen completamente de un fichero /etc/hosts bien formado. Sino, ni te molestes.

El comando del nombre

De esta forma andaba yo, utilizando viejas líneas de código pasadas de mano en mano desde el inicio de los tiempos, hasta hace un día, que tenía que saber todas las direcciones IP de un determinado equipo. Se me ocurrió buscarlo en vez de modificar la línea porque hay gente mucho más inteligente y elegante que yo y, en un foro, lei:

«mira el comando hostname»

Sólo te dice el nombre, pensé. Por curiosidad le eché un ojo a la ayuda de consola y se me cayó el alma a los pies:

Para saber todas las direcciones IP de un equipo basta con ejecutar hostname -I. Sin más. Sin ser root ni zarandajas y, además, por si quieres procesarlas bien, te las devuelve en una línea y separadas por espacios, envueltas para regalo.

Si quieres saber el FQDN, hostname -f. Para el dominio, hostname -d. No hace falta nada más. Supongo que un buen fichero /etc/hosts ayuda pero estoy por apostar a que sin el también funciona.

¿Esta historieta tiene moraleja? ¡Por supuesto! Si utilizas un sistema operativo basado en el principio KISS debes saber que, por muy bonito que sea tu código, por mucho que lo hayas razonado, pulido, probado y vuelto a pulir, siempre habrá otro (código, programa, aplicación) que hace lo mismo de mejor forma, en menos líneas y más rápido. Y te va a doler en el orgullo ;).

 

Diego Martínez Castañeda

linux user, debian user, blogger, podcaster, geek, nerd y escritor sin ideas, nadador sin ganas y ciclista convencido. Asturiano en Mérida.

 

5 thoughts on “A vueltas con el nombre

  1. Justo hoy desarrollando un pequeño código que necesita saber el nombre y las direcciones IP del equipo descubrí la opción -I de hostname, la cual hasta ahora desconocía. En tu defensa (y la mía) diré que la opción -I no ha estado siempre ahí sino que es relativamente reciente (al parecer se introdujo en Debian sid en 2010 y la primera estable en llevarlo fue Squeeze).
    Saludos.

Comments are closed.