쉘 스크립트에서 쉘을 새로 고칠 수 있습니까?

쉘 스크립트에서 쉘을 새로 고칠 수 있습니까?

최소 CentOS 6 설치로 시작하여 Ruby 개발용으로 구성하는 스크립트를 설정하려고 합니다.

#!/bin/bash

# Add PostgreSQL Repo
rpm -i http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-redhat91-9.1-5.noarch.rpm

# Add NginX Repo
echo '[nginx]' > /etc/yum.repos.d/nginx.repo
echo 'name=nginx repo' >> /etc/yum.repos.d/nginx.repo
echo 'baseurl=http://nginx.org/packages/centos/6/$basearch/' >> /etc/yum.repos.d/nginx.repo
echo 'gpgcheck=0' >> /etc/yum.repos.d/nginx.repo
echo 'enabled=1' >> /etc/yum.repos.d/nginx.repo

# Update
yum update -y

# Install NginX, PostgreSQL, and Ruby Dependencies
yum install -y nginx postgresql91-server postgresql91-contrib gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison piconv-devel sqlite-devel git-core

# PostgreSQL Post Install
service postgresql-9.1 initdb
chkconfig postgresql-9.1 on

# Install rbenv system wide install
git clone git://github.com/sstephenson/rbenv.git /usr/local/rbenv

# Install ruby-build
git clone git://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

# Add rbenv to the path
echo '# rbenv setup - only add RBENV PATH variables if no single user install found' > /etc/profile.d/rbenv.sh
echo 'if [[ ! -d "${HOME}/.rbenv" ]]; then' >> /etc/profile.d/rbenv.sh
echo '  export RBENV_ROOT=/usr/local/rbenv' >> /etc/profile.d/rbenv.sh
echo '  export PATH="$RBENV_ROOT/bin:$PATH"' >> /etc/profile.d/rbenv.sh
echo '  eval "$(rbenv init -)"' >> /etc/profile.d/rbenv.sh
echo 'fi'  >> /etc/profile.d/rbenv.sh
chmod +x /etc/profile.d/rbenv.sh

# SHELL NEEDS TO BE REFRESHED HERE

# Install latest Ruby
rbenv install 1.9.3-p286

# Set Global Ruby
rbenv global 1.9.3-p286

rbenv가 사용되는 위치에 도달하면 명령을 인식하려면 쉘에 새로 고침/다시 시작이 필요하기 때문에 rbenv: command notfound 오류가 발생합니다. 어떻게 해야 하나요? 감사해요.

답변1

새로운 환경 파일을 얻으려고 시도할 수 있습니다. 위를 올려다보니,

# SHELL NEEDS TO BE REFRESHED HERE
source /etc/profile.d/rbenv.sh

그리고/또는

source ${HOME}/.rbenv

또한 현재 셸에 포함해야 하는 다른 파일도 생성했습니다.

관련 정보