No estoy del todo seguro de cuál usar.¿Cuál es la diferencia entre las variables de entorno `USER` y` USERNAME`?
Respuesta
en Windows: ENV [ 'username'] es la salida del mismo nombre de usuario.
En Linux: si el script se ejecuta a través de sudo, "USUARIO" será el usuario sudoed-to (generalmente root) y "USERNAME" será el usuario que ejecutó sudo.
Asumo Mac sigue el modelo de Linux, pero tendrá que comprobar (estoy en el trabajo y falta un mac para meter) :-)
He aquí una lista de variables de entorno XP: http://vlaurie.com/computers2/Articles/environment.htm
Y aquí está una lista de Vista/7 Medio Ambiente notificación variables..you'll son ligeramente diferentes: http://vlaurie.com/computers2/Articles/environment-variables-windows-vista-7.htm
Editar: El método más seguro sería escribir una pequeña función que determina qué sistema se encuentra en (i Reúnase de su comentario anterior que desea una aplicación Write-Once, Run-Anywhere) d establece los valores apropiados basados en eso.
Tengo un script Bash 'echo $ USERNAME'. Cuando lo ejecuto con 'sudo/name.sh' siempre imprime' root'. Por lo tanto, no estoy seguro acerca de la declaración '' USERNAME '' será el usuario que ejecutó sudo'. ¿Tiene usted una fuente para eso? Por lo que yo puedo decir, '' $ USER' y $ USERNAME' son idénticas, aunque en algunos entornos 'no existe $ USERNAME'. – Nateowami
si se trata de Ruby 1.8.6 o 1.9.2, sólo hay ENV['USER']
(en Mac):
ruby-1.9.2-p0 > ENV.keys.grep /user/i
=> ["USER", "__CF_USER_TEXT_ENCODING"]
ver, estoy sobre el Ruby 1.9.2 en Windows 7 y tengo tanto 'ENV [ "USUARIO"]' y 'ENV [ "nombre de usuario"]' – RyanScottLewis
- 1. ¿Cuál es la diferencia entre% TMP% y% TEMP% en las variables de entorno de Vista?
- 2. Diferencia entre variables de entorno y shell
- 3. Cuál es la diferencia entre $ (...) y `...`
- 4. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 5. ¿Cuál es la diferencia entre las variables firmadas y las no firmadas?
- 6. PHP -cuál es la diferencia entre las variables globales y las constantes
- 7. ¿Cuál es la diferencia entre las variables de enlace y la variable que ingreso usando &&?
- 8. ¿cuál es la diferencia entre las variables locales y de instancia en Java
- 9. ¿Cuál es la diferencia entre dict() y {}?
- 10. ¿Cuál es la diferencia entre .ToString (+) y ""
- 11. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 12. ¿cuál es la diferencia entre las tareas AntCall y Ant?
- 13. cuál es la diferencia entre las plantillas y el polimorfismo
- 14. Cuál es la diferencia entre las funciones VarIsEmpty y VarIsEmptyParam
- 15. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 16. ¿Cuál es la diferencia entre los punteros y las variables globales en C?
- 17. Cuál es la diferencia entre "./somescript.sh" y ". ./somescript.sh"
- 18. Cuál es la diferencia entre = y: =
- 19. ¿cuál es la diferencia entre:.! y: r !?
- 20. ¿Cuál es la diferencia entre ".equals" y "=="?
- 21. ¿Cuál es la diferencia entre {0} y ""?
- 22. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 23. ¿Cuál es la diferencia entre + = y = +?
- 24. ¿Cuál es la diferencia entre " " y ""?
- 25. Cuál es la diferencia entre $ y jQuery
- 26. ¿Cuál es la diferencia entre "LIKE" y "=" en SQL?
- 27. ¿Cuál es la diferencia entre session_unset() y session_destroy() en PHP?
- 28. Cuál es la diferencia entre una propiedad del sistema y la variable de entorno
- 29. ¿Cuál es la diferencia entre window, window.top y window.parent?
- 30. ¿Cuál es la diferencia entre una referencia __weak y __block?
En realidad, no es específico de Ruby. Estas son variables de entorno que cualquier tipo de script o ejecutable puede ver y usar. –
Me preocupa más la compatibilidad del sistema operativo. ¿'ENV ['USER']' existirá en las instalaciones de Mac? 'Hace ENV [ 'usuario'] == ENV [ 'USUARIO']' instala en Linux? Etc .. – RyanScottLewis
En Linux, ¿tendría 'LOGNAME'? –