如何在bash脚本中检查用户并以其他用户身份运行



我一直想以user1的身份运行脚本,但代码流总是以root的身份运行它。因此,我想检查脚本中的当前用户。如果它是root,我想以user1的身份运行脚本的其余部分。

我想做一些类似的事情。但唯一的区别是,我需要以特定用户(比如user1(的身份运行脚本。所以,当我发现当前用户不是user1时,我不想退出,而是想以user1的身份运行shell脚本的其余部分。我怎样才能做到这一点?

感谢@User123。但我在这个解决方案中遇到了一些问题,因为脚本中有很多函数和变量。不确定到底是什么问题。但是,这对我来说很有效:

if [ $USER == <undesired user> ]; then
echo Current user is $USER. Running the script as <desired user>
su -c 'sh <script.sh>' <desired user>
else
echo Current user is $USER
...
<rest of the script>
...
fi

相关内容

最新更新