为什么 `su` 在 Jenkins 中不起作用?

Why does `su` not work in Jenkins?

当 Jenkins 构建作业脚本中的 运行 时,

su 似乎没有按预期工作。

su username1234
whoami 

returns jenkins

我最初的猜测是 Jenkins shell 脚本的每一行都是一个新的 shell。但是在不同的行上重复 echo $$ 表明情况并非如此。

su 在非交互式会话中不会像在交互式会话中那样进入交互式会话。

在 shell 脚本中,您可以在 su 上下文 su <user> <command>.

中获得 运行 单个命令