我的很多工作流程都涉及使用 sudo 交互式会话 ( sudo -i
) 作为服务用户,它能够运行我的个人用户名不能运行的某些事情。当我这样做时,我喜欢保留我的 PS1 变量和其他一些小的 bash 细节。由于我无法修改服务用户的.bashrc
,我在我的主目录中设置了一个脚本,以便根据我的喜好导出它。例如,我的工作流程可能如下所示:
ssh me@remote
sudo -i -u service_user
. /home/me/ps1.sh
*service user commands here*
exit
我想滚动 sudo 命令并将 PS1 脚本采购到一个命令中。我的想法是使用类似的东西sudo -i -u service_user -c sh ". /home/me/ps1.sh"
,它将传递命令 - 问题是命令运行后会话将立即退出,而不是在交互模式下挂起。没有请求管理员允许通过 sudo 保留 PS1 变量,我能做些什么吗?