以其他用户身份运行 shell 脚本,但目录保持不变

以其他用户身份运行 shell 脚本,但目录保持不变

我必须以 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,但没有任何帮助。

我可以使用什么样的选项或技巧来实现这一点?

相关内容