♨️
ターミナル起動時に `.bash_profile` が読み込まれない件
ターミナル起動時に `.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` の違い
-
初期のコマンドラインインターフェース (CLI) の一つとして `sh` が存在し、それを拡張させたものが `bash` 、そしてその `bash` 以上に高機能なものが `zsh`
-
`bash` の設定ファイル(の一つ)は `.bash_profile` で、`zsh` は `.zshrc`
⇒ “ `zshrc` に書かねばならなかった”
解決策
- デフォルトシェルを `bash` にする
- `.zshrc` にエイリアスを指定する -> "今回はこちらを採用"
コマンドのエイリアスを指定する方法(おまけ)
# 書き方
alias 指定したいコマンド='元のコマンド'
# 例
alias ll='ls -l'
alias la='ls -a'
Discussion