【初心者向け】Linuxターミナルで使用中のシェルを確認する方法|bash?zsh?見分け方を解説!

Linux

cshも、内部で動くシェルによって機能や動作が異なります。

代表的なシェルには:

  • bash(Bourne Again Shell)→ 多くのLinuxで標準
  • zsh(Z Shell)→ 補完機能が強力、macOSで標準に
  • fish(Friendly Interactive Shell)→ カラフルでモダン
  • dash(Debian Almquist Shell)→ 軽量で高速
  • csh/tcsh(C Shell)→ C言語に似た構文

それぞれ独自の機能や設定方法、構文があるため、自分がどのシェルを使っているかを知ることは重要です。

スポンサーリンク

使用中のシェルを確認する方法3選

方法1:echo

方法1:echo $0

echo $0

このコマンドは、現在動いているシェルの名前を表示してくれます。

例:

bash

または

zsh

ただし、$0ログインシェルではなくサブシェル名が表示される場合もあるので注意!

方法2:echo $SHELL

echo $SHELL

このコマンドは、ログイン時に設定されたデフォルトのシェルを表示します。

例:

/bin/bash

または

/usr/bin/zsh

ターミナルを途中で切り替えている場合、実際の使用中シェルと異なることもあります。

つまり、この方法はデフォルトのシェルを教えてくれますが、現在使用しているシェルとは異なる可能性があります。

方法3:psコマンドで現在のプロセス確認

ps -p $$

このコマンドで、今のプロセスID($$)が何のシェルかを確認できます。

例:

    PID TTY          TIME CMD
   5347 pts/0    00:00:00 bash

これが最も正確に「今使っているシェル」を判別する方法です!
現在実行中のシェルプロセスを直接表示するため、最も信頼できる結果が得られます。

ログインシェルと現在のシェルの違い

混乱しがちなポイントとして、ログインシェルと現在使用中のシェルの違いがあります:

  • ログインシェル: システムにログインしたときに起動されるデフォルトのシェル($SHELLで確認)
  • 現在のシェル: 今実行中のターミナルで動いているシェル(ps -p $$が正確)

よくあるパターン:

  • $SHELL/bin/bash(システムデフォルト)
  • でも、今のターミナルでは zsh が動いている(手動で切り替えた場合)

一時的なシェル切り替え

現在のターミナルセッションだけ別のシェルを使いたい場合は、単にそのシェル名を入力するだけです:

zsh  # bashからzshに一時的に切り替え

元に戻るには exit コマンドを使います:

exit  # 元のシェルに戻る

シェルの設定ファイルを確認する方法

シェルの種類によって、設定ファイルの場所も異なります:

  • bash: ~/.bashrc, ~/.bash_profile
  • zsh: ~/.zshrc

設定ファイルの有無を確認する:

ls -la ~ | grep "\.bash"  # bashの設定ファイルを確認
ls -la ~ | grep "\.zsh"   # zshの設定ファイルを確認

シェルの変更方法(例:bash → zsh)

zshに永続的に切り替える

chsh -s $(which zsh)

bashに戻す

chsh -s $(which bash)

反映にはログアウトまたは再起動が必要です。

インストールされているシェルの一覧を確認

cat /etc/shells

このコマンドでシステムにインストールされている利用可能なシェルの一覧が表示されます。

シェルの特徴を見分ける方法

シェルの種類がわからない場合、以下の特徴で見分けることもできます:

bash

  • プロンプトは通常 ユーザー名@ホスト名:パス$
  • タブ補完は基本的な機能のみ

zsh

  • プロンプトがカスタマイズされていることが多い(oh-my-zshを使用している場合)
  • 高度な補完機能(オプション名の補完など)
  • スペルミス修正の提案がある

まとめ

「どのシェルを使っているか」を把握しておくことは、トラブルの回避やスクリプトの書き方に直結する重要なポイントです。

使用中のシェル確認まとめ

方法コマンド例備考
$0で確認echo $0サブシェル名が出ることあり
$SHELLで確認echo $SHELLデフォルトログインシェル
psで確認(おすすめ)ps -p $$現在のシェルを正確に把握可能

シェルの切り替え

chsh -s $(which zsh)  # zshへ
chsh -s $(which bash) # bashへ

各シェルには長所と短所があるため、自分の作業スタイルに合わせて選ぶとよいでしょう。

初心者なら広く使われているbashから始めて、慣れてきたら高機能なzshなどを試してみるのがおすすめです。

正しいシェルを理解し、自分に合った快適なターミナル環境を構築しましょう!

コメント

タイトルとURLをコピーしました