到目前为止,我用这样的脚本,别名和在shell:在bash脚本/命令中找出用户名的最佳方法是什么?
qstat -u $USER
现在我发现,无论是$USER
变量也不$USERNAME
不是在内置的bash。而$UID
和$EUID
是。
我当然可以使用$(whoami)
或类似的东西。有很多方法可以找出当前进程的用户名。但是,最好,最可行和最短的其中之一是什么?为什么?
到目前为止,我用这样的脚本,别名和在shell:在bash脚本/命令中找出用户名的最佳方法是什么?
qstat -u $USER
现在我发现,无论是$USER
变量也不$USERNAME
不是在内置的bash。而$UID
和$EUID
是。
我当然可以使用$(whoami)
或类似的东西。有很多方法可以找出当前进程的用户名。但是,最好,最可行和最短的其中之一是什么?为什么?
[POSIX](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html)需要'$ LOGNAME'被设置,但提到'$ USER'也被使用。不要将安全决定建立在'$ LOGNAME'或'$ USER'的值上,因为即使我以'pleb'身份登录,我可以执行'USER = root'和'LOGNAME = root'。 – 2012-04-26 14:30:16