好的,从这个问题开始,我仍然无法正常工作。我这样做:
if [ "$(id -nu)" != 'your_user' ]; then
exec sudo -Hu 'your_user' $0
fi
which ruby
cd /path/to/my/app
rake db:backup
Run Code Online (Sandbox Code Playgroud)
问题是,which ruby正在打印/usr/bin/ruby,但是当我在正常的 bash 会话中运行它时,我得到了/home/nick/.rvm/rubies/ruby-1.9.2-p136/bin/ruby,因为我使用的是 RVM。所以rake不起作用,因为它在错误的 Ruby 安装中工作。有任何想法吗?
sudo -u 'user_name' -i
Run Code Online (Sandbox Code Playgroud)
“在登录 shell 中运行给定的命令,即您获得与在文本模式下登录相同的环境。”