2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

ログインshellの変更、そしてrbenvでインストールしたRubyをデフォルトにする方法

ゴールはrbenvでインストールしたRubyをデフォルトで開けること。
→その設定が書かれた.bash_profileというファイルを
 デフォルトで読み込んでもらえないというのが問題でした。

前回記事
https://qiita.com/hacchi_mom/items/2095e6ac7aecd03f131a

.bash_profileについて

まず.bash_profileってなんなんだというところから調べると
【ログインの際に読み込まれる設定ファイル】とのこと。

そして重要なのは、その設定ファイルは
【ログインshellがbashのときに読み込まれるもの】
ということ!!!!

ログインshell問題

ログインshellとはログイン時に起動するshellのことですが
そもそも私の起動時のログインshellはbashではなくzshだったのです。

Terminal起動時に毎回まずbashと一度打ってから
全ての作業を始めておりました…そういうもんだと思っていました。笑

初歩すぎること書いててすいません。。。
だから.bash_profileを読み込んでもらえなかったんですね。

ログインshellの変更への道

まずは以下のコマンドでbashを使う指示をしてみる。

$ chsh -s /usr/local/bin/bash
chsh: /usr/local/bin/bash: non-standard shell

早速拒否されたので笑
まず変更できるshellの一覧を出してみる。

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

先ほどのコマンドを有効にするためには、
この/etc/shellsというファイルに
/usr/local/bin/bashを追記しなければならないそうです。

そしてそのファイルに書く手段として検索して出てきたのが【vim】

正直初心者には操作性が難しすぎた…

私にはvim以外の書き方を検索する力がなく、
以下のリンクを参考にして奇跡的に書けました。
https://original-game.com/vim-mac2/#m_heading-1

※vimについてはまだ説明できる力がないので割愛します。。
 Finderでファイル名検索とかしても非表示ファイルだから出てこないですが、
 エディタで編集する方法も調べればありそうです!

そしてもう一度、変更できるshellの一覧

$ cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/usr/local/bin/bash  ← これが無事追加されました!
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh

そしてもう一度、最初に打ったbashを使う指示のコマンド

$ chsh -s /usr/local/bin/bash
chsh: WARNING: shell '/usr/local/bin/bash' does not exist
chsh: no changes made

さっきとエラー文が変わった!

これを調べるとコマンドではなく
ターミナル >環境設定 >一般 のなかに
【開くシェル】という設定がありました!

これをデフォルト → コマンドに設定を変更し、
以下の画像のように/bin/bashと打ち込みます。

スクリーンショット 2020-03-04 23.56.13.png

これで最後にもう一度最初のコマンドを

$ chsh -s /usr/local/bin/bash
Changing shell for local.
Password for local:

(↑ちなみに最初の2回は割愛しましたが
このコマンド打つと毎回パスワードを求められます。)

そしてターミナルを再起動すると
ログインshellはbashになっていました!

そして私のゴールだったRubyは…

$ which ruby
/Users/local/.rbenv/shims/ruby

できました!
これでrbenvでインストールしたRubyがデフォルトになりました。

参考記事

https://wa3.i-3-i.info/word13650.html
https://teratail.com/questions/59821
https://www.task-notes.com/entry/20150117/1421482066
https://qiita.com/n_oshiumi/items/5ea418bed44fb81dd653
https://creepfablic.site/2019/10/13/bash-zsh/#index_id4

たくさんの記事に助けられました!
長々と読んでくださった方、ありがとうございました!

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
2
Help us understand the problem. What are the problem?