簡體   English   中英

在執行$ SHELL之后繼續執行bash腳本

[英]Making bash script continue after exec $SHELL

我正在制作一個將安裝rbenvruby的bash腳本。

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install $rubyVersion
rbenv global $rubyVersion

但是,當exec $SHELL被調用時,bash進程將被新的bash進程替換,並且腳本將停止(當然)。

如何使腳本繼續?

看來您正在嘗試通過修改.bashrc文件然后調用exec $SHELL來實現多個目標。 這些操作都不會修改正在運行該腳本的shell。 要修改當前的shell,您要“獲取” .bashrc文件。 使用“點符號”代替調用exec $SHELL

. ~/.bashrc

祝你好運!

用“ $ SHELL”行替換exec $ SHELL行或完全刪除那些行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM