我需要获取用户主文件夹。目前我正在使用这个

home=$(eval echo ~$user)
$user 的内容由调用者提供,因此不是可信值。这里使用 eval 危险吗?如果是(可能),没有它如何解决?

最佳答案

在拥有它的系统上,您可以使用 getent(1) :

$ getent passwd "$username" | cut -d: -f 6
/path/to/user/home

不过一定要检查空结果。

关于bash - 没有 eval 的波浪号扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38034340/

10-16 20:32