在Julia(Linux)中获取当前用户名

在Julia(Linux)中获取当前用户名,linux,julia,Linux,Julia,我一定是在做傻事,但我似乎无法使用Julia检索当前用户名。Base中最接近的函数似乎是gethostname(),但它返回的是计算机名,而不是用户名。我尝试了系统调用,但由于插入字符$而出现问题。具体地说,尽管echo$USER在终端中返回适当的用户名,但当我在Julia中尝试以下操作时,我会得到各种错误或不正确的答案: run(`echo $USER`) run(`echo "$USER"`) run(`echo '$USER'`) run(`echo '$'USER`) run(`echo

我一定是在做傻事,但我似乎无法使用Julia检索当前用户名。
Base
中最接近的函数似乎是
gethostname()
,但它返回的是计算机名,而不是用户名。我尝试了系统调用,但由于插入字符
$
而出现问题。具体地说,尽管
echo$USER
在终端中返回适当的用户名,但当我在Julia中尝试以下操作时,我会得到各种错误或不正确的答案:

run(`echo $USER`)
run(`echo "$USER"`)
run(`echo '$USER'`)
run(`echo '$'USER`)
run(`echo \$USER`)
我想问题在于Julia将
$
错误地理解为插值,但我不知道如何避免这种情况

有什么想法吗?

一个简单的解决方法:

run(`whoami`)
但这是不必要的,因为这是可行的:

ENV["USER"]

这在Linux和Windows上都适用:

splitdir(homedir())[end]

明亮的
ENV[“USER”]
方法无疑是一条可行之路。为了完整起见,您是否有机会评论一下我的
echo$USER
方法的错误?无论哪种方式,+1+勾选(只要我允许)。
run
不运行shell;而外壳就是你需要插值的环境变量<代码>运行将以类似于shell的方式插入Julia变量。阅读更多内容。FWIW
run(`sh-c'echo$USER`)
会起作用(但公认的答案要好得多!)