Я не совсем уверен, какой из них использовать.В чем разница между переменными среды USER и USERNAME?
ответ
На окнах: ENV [ 'имя пользователя'] будет выводить текущее имя пользователя.
On linux: Если скрипт запускается через sudo, пользователь может использовать sudo-ed-to-user (обычно root), а пользователь «USERNAME» будет пользователем, который запускал sudo.
Я предполагаю, что Mac соответствует модели Linux, но вы должны проверить (я на работе и не хватает макинтош совать) :-)
Вот список переменных среды XP: http://vlaurie.com/computers2/Articles/environment.htm
А вот список Vista/7 окружающей среды variables..you'll уведомления они немного отличаются: http://vlaurie.com/computers2/Articles/environment-variables-windows-vista-7.htm
Edit: Самый безопасный подход должен был бы написать небольшую функцию, которая определяет, какую систему вы на (я собирайте из своего комментария выше, вам нужно приложение Write-Once, Run-Anywhere) d устанавливает соответствующие значения на основе этого.
У меня есть сценарий Bash 'echo $ USERNAME'. Когда я запускаю его с помощью 'sudo./Name.sh', он всегда печатает' root'. Поэтому я не уверен в заявлении '' USERNAME "будет пользователем, который побежал sudo'. У вас есть источник для этого? Насколько я могу судить, '$ USER' и' USERNAME' идентичны, хотя в некоторых средах '$ USERNAME' не существует. – Nateowami
если это Руби 1.8.6 или 1.9.2, есть только ENV['USER']
(на Mac):
ruby-1.9.2-p0 > ENV.keys.grep /user/i
=> ["USER", "__CF_USER_TEXT_ENCODING"]
Смотрите, я на Ruby 1.9.2 на Win 7, и у меня есть оба 'ENV [" USER "]' и 'ENV [" USERNAME "]' – RyanScottLewis
- 1. В чем разница между переменными среды RSTUDIO_USER_IDENTITY и USER в RStudio
- 2. В чем разница между этими переменными среды Java?
- 3. В чем разница между переменными?
- 4. Разница между переменными среды -D и -d в Java
- 5. В чем разница между/Applications и/Users/username/Applications?
- 6. В чем разница между этими переменными PHP?
- 7. В чем разница между этими переменными PHP
- 8. Разница между постоянными переменными и глобальными переменными
- 9. Разница между оболочкой и переменными окружения
- 10. Разница между переменными привязками и переменными?
- 11. В чем разница между системной переменной и переменными среды в сценарии CAPL?
- 12. В чем разница между локальными переменными, переменными экземпляра, глобальными переменными и переменными класса?
- 13. В чем разница между переменными local и экземпляра в Java
- 14. В чем разница между статическими и динамическими переменными в C#?
- 15. В чем разница между указателями и глобальными переменными в C?
- 16. В чем разница между литералами и переменными в Python?
- 17. В чем разница между переменными в PHP4 и PHP5?
- 18. В чем разница между макроконстантами и постоянными переменными в C?
- 19. В чем разница между глобальными переменными и #define в с
- 20. В чем разница между переменными системы и среды, относящимися к Windows?
- 21. В чем разница между переменными среды LIB и LIBPATH для MS Visual C/C++?
- 22. В чем разница между `sudo -i -u user` и` sudo su-user`?
- 23. В чем разница между RCDATA и User-Defined Resource?
- 24. В чем разница между ftp @ user и ftp: // domain
- 25. В чем разница между параметрами интеллектуального класса и интеллектуальными переменными
- 26. py2app- В чем разница между переменными «includes» и «packages»?
- 27. В чем разница между перечислениями и конечными переменными?
- 28. В чем разница между переменными «Pentaho DI» и «полями»?
- 29. В чем разница между переменными TARGET_ARCH и TARGET_MACH?
- 30. В чем разница между чтением переменных запроса и переменными тела?
На самом деле это не Ruby. Это переменные среды, которые могут видеть и использовать любой тип скрипта или исполняемого файла. –
Я больше беспокоюсь о совместимости с ОС. Будет ли 'ENV ['USER']' существует на Mac установлена? Использует ли ENV ['USER'] == ENV ['USERNAME'] 'в Linux? Etc .. – RyanScottLewis
В Linux у вас есть 'LOGNAME'? –