0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】シェルとは何か?bash・zshの違いと使い分け

Last updated at Posted at 2025-05-18

開発の現場でよく聞く「シェル」「bash」「zsh」って結局何?という方へ向けて、
シェルの基本と使い分け、違いをわかりやすくまとめました。


✅ シェル(Shell)とは?

▶ 人間とコンピュータの「通訳」

シェルとは、ユーザーが打ち込んだコマンドをOSに伝えて実行する「仲介役」です。

  • 私たち:lsnpm run dev と打つ
  • シェル:それを解釈してOSに「これやって」と伝える

つまり、シェルがあるからコマンドでコンピュータを操作できるというわけです。


✅ 代表的なシェルの種類と特徴

シェル名 特徴
sh 最も基本的で古いシェル
bash 定番。多くの環境で使われている(Bourne Again Shell)
zsh 補完や見た目が強化されていて人気。macOSの標準シェル
fish モダンで直感的。設定なしでも高機能

✅ bashとは?

  • 「Bourne Again Shell」の略。
  • LinuxやWSL、Docker環境などでよく使われる最も一般的なシェルです。
  • .bashrc, .bash_profile などで設定します。

✅ zshとは?

  • bashをベースに、補完・色表示・テーマなどを強化したシェル。
  • macOS Catalina(2019年)以降、macの標準シェルはzshになりました。
  • 設定は .zshrc に書きます。
  • Oh My Zsh という拡張パッケージでさらに便利になります。

✅ シェルによって何が違うの?

項目 bash zsh
補完機能 普通 超強力(候補が見やすい)
設定ファイル ~/.bashrc など ~/.zshrc
配列のインデックス 0から始まる 1から始まる(注意!)
見た目のカスタマイズ 少なめ 豊富・テーマも多数

✅ Dockerでよく見る「bashで入る」ってなに?

docker compose exec app bash
  • これは「コンテナ内でbashシェルを起動して入る」という意味です。
  • zshが入っていないコンテナが多いため、bashがデフォルトで使われています

✅ zshが入っていないときは?

軽量なLinux(例:Alpine Linux)や公式Dockerイメージでは zsh が入っていないこともあります。

その場合は代わりに shbash を使いましょう:

docker compose exec app sh

✅ どれを使えばいいの?

状況 おすすめのシェル
Docker・サーバー環境 bash(互換性重視)
macや普段の開発 zsh(補完が便利)
初心者で迷ったら zsh + Oh My Zsh で快適に学べます

📝 まとめ

  • シェル = OSとやりとりするための通訳
  • bash = 標準的なシェル
  • zsh = 開発が快適になる高機能シェル
  • シェルを変えると補完・設定方法・スクリプト構文が微妙に違う
  • Dockerでは主に bash が使われる

どのシェルでも「やりたいこと」はだいたい同じですが、快適さや書き方が変わるので、自分に合ったシェルを選ぶと開発効率がグッと上がります!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?