如何强制 runuser 以与使用“bash -i”相同的方式启动交互式 shell?

如何强制 runuser 以与使用“bash -i”相同的方式启动交互式 shell?

我需要以mruserroot身份运行以下命令

systemctl --user status myservice

为此,我使用 runuser

runuser -l mruser -c "systemctl --user status myservice"

这在我的 RHEL 部署中工作得很好,但在 Ubuntu 中失败了。这是因为 Ubuntu 的默认.bashrc文件具有以下行(RHEL .bashrc 文件没有):

case $- in
    *i*) ;;
      *) return;;
esac

这使得 bash 需要-i交互并使用.bashrc文件中的值。如果我删除这些行,那么我的runuser命令在 Ubuntu 上运行良好。但我不想删除这些行。

如何在运行命令时runuser发送 a ?-i

相关内容