【しぇる】

シェル とは?

💡 OSとユーザーをつなぐ「翻訳者」
📌 このページのポイント
シェル ― ユーザーとカーネルの仲介役 アプリケーション シェル カーネル ハードウェア制御・プロセス管理 ハードウェア ユーザー コマンド入力 代表的なシェル bash zsh fish PowerShell
シェルのイメージ
ひよこ ひよこ

シェルって何のために使うの?

ペンギン先生 ペンギン先生

GUIマウスでクリック)では面倒な操作をコマンド1行で実行できるよ。「1000個のファイルの名前を一括変更」「特定のログからエラーだけ抽出」「毎日3時にバックアップ」のような作業はシェルの得意技。自動化とバッチ処理の基盤なんだ

ひよこ ひよこ

bashとzshの違いは?

ペンギン先生 ペンギン先生

bashはLinuxの標準シェルで最も普及。zshはbashの上位互換で、補完機能やプラグイン(Oh My Zsh)が充実していてmacOSのデフォルトだよ。fishは初心者に優しい自動補完が魅力。PowerShellWindowsの標準で、オブジェクトを扱えるのが特徴的だね

ひよこ ひよこ

パイプって何?

ペンギン先生 ペンギン先生

「|」記号でコマンドの出力を次のコマンドの入力につなげる仕組みだよ。「cat access.log | grep 404 | wc -l」で「ログファイルの中から404エラーの行数を数える」。小さなコマンドをレゴブロックのように組み合わせるのがUNIX哲学の真髄だね

ひよこ ひよこ

シェルスクリプトのコツは?

ペンギン先生 ペンギン先生

①set -euo pipefail を冒頭に書いてエラーで即停止、②変数は "${var}" とダブルクォートで囲む(空白対策)、③shellcheckでlint、④複雑になったらPythonに移行する潔さも大事。10行を超えるシェルスクリプトPythonやGoで書き直した方がメンテしやすいことが多いよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「シェル」って出てきたら「コマンドでOSを操作するインターフェース」と思えればだいたいOK!
📖 おまけ:英語の意味
「Shell」 = 殻
💬 OS(カーネル=核)を包む「殻(Shell)」として、ユーザーとの橋渡しをするよ
← 用語集にもどる