我需要获取用户主文件夹。目前我正在使用这个
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/