波形符不返回主目录

波形符不返回主目录

使用 sudo 命令更改用户后,波浪号 (~) 不返回当前用户的主目录,而是返回先前登录用户的主目录。我需要扩展,echo ~USERNAME但我需要echo ~保持现有应用程序的兼容性。

user1@server1:-$ whoami
user1
user1@server1:-$ sudo -u user2 -s /bin/bash
user2@server1:-$ whoami
user2


user2@server1:- echo ~
/home/user1
user2@server1:-$ echo ~user2
/home/user2

答案1

sudo不一定会更改调用者的主目录。您需要使用-H来确保这一点

sudo -H -u user2 -s

或者

sudo -u user2 -i

man sudo详情请参阅

答案2

sudo 命令未设置 HOME 环境变量。为此,我们需要添加set_homealways_set_home归档sudoers

相关内容