♨️

ターミナル起動時に `.bash_profile` が読み込まれない件

2024/05/14に公開

ターミナル起動時に `.bash_profile` が読み込まれない

発生した問題と原因

問題

  • `.bash_profile` にコマンドのエイリアスを設定したが、ターミナル起動時に `.bash_profile` が読み込まれず、毎回 source ~/.bash_profile を実行しなければいけない状況が発生した。

原因

  • ターミナルのデフォルトシェルが `bash` ではなく、 `zsh` だった。

    • echo $SHELL : デフォルトシェルの確認コマンド
    % echo $SHELL
    => /bin/zsh
    

`bash` と `zsh` の違い

そもそもシェルとは?

  • 人間の命令をコンピュータ(OS)に伝える際の、人間とコンピュータ(OS)とのやり取りの仲介役

  • コマンドを入力することで、コンピュータ(OS)に命令を伝えるために動くプログラム

ユーザーからの要求をシステムに伝えるためのユーザーインターフェースOSカーネル(核)を貝の殻のように包んでいることから名付けられている。

引用: https://kotobank.jp/word/シェル-4083#:~:text=OSのカーネル(核)を貝の殻のように包んでいることから名付けられている。

`bash` と `zsh` の違い

  1. 初期のコマンドラインインターフェース (CLI) の一つとして `sh` が存在し、それを拡張させたものが `bash` 、そしてその `bash` 以上に高機能なものが `zsh`

  2. `bash` の設定ファイル(の一つ)は `.bash_profile` で、`zsh` は `.zshrc`

    ⇒ “ `zshrc` に書かねばならなかった”

解決策

  1. デフォルトシェルを `bash` にする
  2. `.zshrc` にエイリアスを指定する -> "今回はこちらを採用"

コマンドのエイリアスを指定する方法(おまけ)

# 書き方
alias 指定したいコマンド='元のコマンド'

# 例
alias ll='ls -l'
alias la='ls -a'

Discussion