安装 rvm sh 脚本源不正确,如何

Installing rvm sh script doesn't source properly, how to

我正在制作一个 shell 脚本来安装 Apache、MySQL、Postgresql、php5、rvm、ruby 和 rails,有点像一个自动安装脚本,但我对 rvm 源和所有这些有问题,这是我目前所拥有的:

autoinstall autoconf automake bison build-essential curl git-core libapr1 libaprutil1 libc6-dev libltdl-dev libreadline6 libreadline6-dev libsqlite3-0 libsqlite3-dev libssl-dev libtool libxml2-dev libxslt-dev libxslt1-dev libyaml-dev ncurses-dev nodejs openssl sqlite3 zlib1g zlib1g-dev
autoinstall git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev
autoinstall libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --ruby
# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
  # First try to load from a user install
  source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
  # Then try to load from a root install
  source "/usr/local/rvm/scripts/rvm"
else
  printf "ERROR: An RVM installation was not found.\n"
fi
type rvm | head -1
rvm -v

此脚本到达 type rvm | head -1 并说 rvm: not found,我怀疑这是必须关闭所有 bash 终端并重新打开的奇怪情况,因为 if 也到达 printf "ERROR: An RVM installation was not found.\n" 但当我的脚本退出时,我再次执行 type rvm | head -1 并显示已正确安装。

知道为什么我的 shell 脚本中会发生这种情况吗?

[编辑]: 我确保它一直运行到源代码行,不工作的似乎是 rvm 脚本的源代码,以便能够在 shell 脚本中使用 rvm,当我检查里面的 rvm 版本时出现错误,但是在终端中它给了我一个版本,为什么?

您尝试显式获取的文件 does not run in sh(和其他 shell)可能是因为它们缺少它所依赖的功能。

使用 sudo bash 到 运行 它应该可以解决这个问题。