Necesito obtener el nombre de host completamente expandido del host en el que se ejecuta mi script de Ruby. En Perl, he usado Sys :: Hostname :: Long con buenos resultados. Google parece sugerir que debería usar Socket.hostname en ruby, pero eso solo devuelve el nombre del nodo, no el nombre de host completo.¿Cómo puedo obtener el FQDN del host actual en Ruby?
Respuesta
Esto parece funcionar:
hostname = Socket.gethostbyname(Socket.gethostname).first
Podría ser un poco más simple => nombre de host = socket.gethostname
Socket.gethostname no necesariamente devuelve un FQDN. – dvorak
hostname = Socket.gethostbyname(Socket.gethostname).first
no es recomendable y sólo funcionará si la resolución DNS inversa está configurado correctamente arriba. This Facter bug tiene una explicación más larga si es necesario.
Si se lee el código facter, se dará cuenta de que algo sidestep the issue altogether by saying:
fqdn = hostname + domainname
donde:
hostname = %[hostname]
domainname = %[hostname -f] # minus the first element
Esta es una suposición razonable de que no depende de la configuración de DNS (que puede ser externo a la caja).
+1, esto al menos funcionará para * nix derivadas – Shirkrin
Si el nombre de dominio no está configurado en la máquina, el nombre de host -f consultará también DNS. –
- 1. Powershell: Obtener nombre de host FQDN
- 2. Obtener FQDN en Java
- 3. Cómo obtener el nombre de host actual en Heroku
- 4. ASP.NET MVC obtener el host actual
- 5. ¿cómo puedo obtener el directorio actual del ejecutable en py2exe?
- 6. ¿Cómo puedo obtener el DateTime actual del precompilador en C#?
- 7. ¿Cómo puedo obtener el nombre del directorio actual en Javascript?
- 8. Obtener directorio padre del directorio actual en Ruby
- 9. ¿Cómo obtener el GUID del usuario actual?
- 10. ¿Cómo puedo obtener el nombre de host local actual usando C# o VB.NET?
- 11. ¿Cómo obtengo el nombre del directorio actual en Ruby?
- 12. ¿Cómo puedo obtener el nivel de zoom actual en UIScrollView?
- 13. Obtener el próximo año del NSDate actual?
- 14. Android: ¿Cómo obtener el ID del recurso del tema actual?
- 15. ¿Cómo obtener el nombre actual del proceso en Linux?
- 16. ¿Cómo puedo obtener la velocidad de red actual del iPhone?
- 17. ¿Cómo usar Django para obtener el nombre del servidor host?
- 18. ¿Cómo puedo obtener el dominio actual en ASP clásico?
- 19. ¿Cómo puedo obtener el usuario actual en Liferay?
- 20. ¿Cómo obtener la hora actual del GPS?
- 21. ¿Cómo puedo obtener el tiempo transcurrido en milisegundos en Ruby?
- 22. obtener el cursor del mouse actual tipo
- 23. ¿Cómo obtener el nombre del módulo actual en Haskell
- 24. ¿Cómo obtener el nombre del método actual en Delphi 7?
- 25. Cómo obtener el nombre del tema actual en Magento
- 26. ¿Cómo obtener el directorio actual?
- 27. PHP Obtener el nombre del directorio actual
- 28. obtener el rol del usuario actual
- 29. Obtener el directorio personal del usuario actual
- 30. ¿Cómo obtener el contexto actual?
En Mac OS X esto parece devolver el nombre de host en minúscula: '$ ruby -e 'pone Socket.gethostbyname (Socket.gethostname) .first' xin.local' en contraste con el comando bash 'hostname'' $ hostname XIN.local' – asmaier