我不完全确定使用哪一个。
答案 0 :(得分:11)
在Windows上:ENV ['username']将输出当前用户名。
在Linux上:如果脚本是通过sudo运行的,那么“USER”将是sudo-ed-to用户(通常是root用户),“USERNAME”将是运行sudo的用户。
我认为Mac遵循Linux模式,但你必须检查(我正在工作,缺少一个mac来戳): - )
以下是XP环境变量列表:http://vlaurie.com/computers2/Articles/environment.htm
这是一个Vista / 7环境变量列表......你会发现它们略有不同:http://vlaurie.com/computers2/Articles/environment-variables-windows-vista-7.htm
编辑: 最安全的方法是编写一个小函数来确定你所使用的系统(我从上面的评论中收集你想要一次性写入,随处运行的应用程序)并根据它设置适当的值。
答案 1 :(得分:1)
如果是Ruby 1.8.6或1.9.2,则只有ENV['USER']
(在Mac上):
ruby-1.9.2-p0 > ENV.keys.grep /user/i
=> ["USER", "__CF_USER_TEXT_ENCODING"]