我正在进行一项实验,作为解决更大问题的方法。为了进行实验,我需要rvm
以没有 shell 的用户身份进行安装。
要安装rvm,请使用以下命令
\curl -L https://get.rvm.io | bash
我如何以不同的用户身份运行以下命令?
这就是我正在尝试做的事情,但它不起作用。
sudo -u foo -H \curl -L https://get.rvm.io | bash
sudo -u foo -H which rvm
sudo: rvm: command not found
答案1
您需要以用户身份运行 shell,而不是curl
或which
命令。
有多种方法可以做到这一点,包括:
sudo -u user bash -c 'curl -L https://get.rvm.io | bash'
和
curl -L https://get.rvm.io | sudo -u user bash
如果您想以交互方式执行此操作,您可以使用sudo
的-s
选项来覆盖它们没有有效 shell 的事实。例如:
# sudo -u user -s /bin/bash
$ whoami
user
$ exit