spu*_*der 2 bash sudo software-installation ruby
我正在运行一个实验来解决一个更大的问题。对于实验,我需要以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
Run Code Online (Sandbox Code Playgroud)
您需要以用户身份运行 shell,而不是命令curl
或which
命令。
有几种方法可以做到这一点,包括:
sudo -u user bash -c 'curl -L https://get.rvm.io | bash'
Run Code Online (Sandbox Code Playgroud)
和
curl -L https://get.rvm.io | sudo -u user bash
Run Code Online (Sandbox Code Playgroud)
如果您想以交互方式执行此操作,您可以使用sudo
's-s
选项来覆盖它们没有有效外壳的事实。例如:
# sudo -u user -s /bin/bash
$ whoami
user
$ exit
Run Code Online (Sandbox Code Playgroud)