sudo -u username 命令与执行 sudo -i -u username then 命令是否相同?

sudo -u username 命令与执行 sudo -i -u username then 命令是否相同?

是终端提示符sudo -u username command

和做同样的事情

sudo -i -u username然后command在下一行?

如果不是,有什么区别?在哪些用例中,第一种做法比第二种做法更好或更可取,反之亦然。

如果有人可以一步一步或每个参数解释该命令的作用,那就更好了。

答案1

sudo -u username command:

此命令以指定用户名运行指定命令。它不会更改当前工作目录或环境变量

sudo -i -u username:

此命令以指定用户名打开交互式登录 shell。它将当前工作目录更改为指定用户的主目录,并设置环境变量,就像您以该用户身份登录一样。

基本上,sudo -u username命令更适合以另一个用户的身份运行单个命令而无需更改环境或创建新的 shell,而更sudo -i -u username适合在具有指定用户环境的新 shell 中运行多个命令。

相关内容