我正在尝试编写一个脚本来安装 rvm。为此,脚本以 root (sudo setup.sh) 身份运行,其中 setup.sh 调用安装 rvm 的下标。但是,为了安装 rvm 我需要成为用户,所以我想从 root 切换为用户。我这样做:
在 setup.sh 中:
# Do some stuff as root
# Install rvm
sudo -u $SUDO_USER source path/to/rvm_install/script
sudo -u install_rvm
但是,当我这样做时,我从 bash 收到此错误:
sudo: source: command not found
如果我这样做,which source
我将一无所获,无论是 root 还是 $SUDO_USER。但是,例如,我可以毫无错误地获取 .bash_profile。而且,我可以 man source 并且有一本手册,所以我知道该 source 已安装。
如何切换到 $SUDO_USER 并且仍然让 bash 识别我的下标?