我必须以 root 身份运行 bash 脚本。但是在这个脚本中,有一些命令需要我以普通用户(他的名字是“ubuntu”)的身份运行,但是执行这些命令时我不希望当前工作目录发生变化。
我尝试过但效果不佳的事情:
假设我在一个文件夹中:/var/www
并且我处于超级用户模式。
-u
sudo -u ubuntu pwd
给我/var/www
,即好的。- 但却
sudo -u ubuntu which composer
没有给我任何东西,坏的。
-i -u
sudo -i -u ubuntu which composer
/home/ubuntu/bin/composer
给了我好的。- 但给
sudo -i -u ubuntu pwd
了我/home/ubuntu
坏的。
我也尝试添加 -H 或 -s,但没有任何帮助。
我可以使用什么样的选项或技巧来实现这一点?