在我的本地机器上,我想成为另一个用户(假设目前我是user_c
),然后作为该用户运行命令,具体来说,我想成为user_o
并运行whoami
。
我通常用两行来做,像这样:
sudo -i -u -user_o # Note: no password is needed to run this command
whoami
现在,如何用一行代码完成呢?
I have tried
sudo -i -u user_o && echo "$(whoami)"
却变成了user_o
我也试过这个
sudo -i -u user_o echo "$(whoami)"
但它只是打印当前用户,就像它忽略了sudo -i -u user_o
命令
user_c
也runuser不工作,因为user_c
不是用户root
在我的情况下:
runuser -l user_o -c 'echo "$(whoami)"' runuser: may not be used by non-root users
SOLVED
实际上没有必要使用&&
来分隔"切换用户"。命令和希望作为目标用户执行的命令。
sudo -i -u user_o whoami