シェルって何のために使うの?
GUI(マウスでクリック)では面倒な操作をコマンド1行で実行できるよ。「1000個のファイルの名前を一括変更」「特定のログからエラーだけ抽出」「毎日3時にバックアップ」のような作業はシェルの得意技。自動化とバッチ処理の基盤なんだ
bashとzshの違いは?
bashはLinuxの標準シェルで最も普及。zshはbashの上位互換で、補完機能やプラグイン(Oh My Zsh)が充実していてmacOSのデフォルトだよ。fishは初心者に優しい自動補完が魅力。PowerShellはWindowsの標準で、オブジェクトを扱えるのが特徴的だね
パイプって何?
「|」記号でコマンドの出力を次のコマンドの入力につなげる仕組みだよ。「cat access.log | grep 404 | wc -l」で「ログファイルの中から404エラーの行数を数える」。小さなコマンドをレゴブロックのように組み合わせるのがUNIX哲学の真髄だね
シェルスクリプトのコツは?
①set -euo pipefail を冒頭に書いてエラーで即停止、②変数は "${var}" とダブルクォートで囲む(空白対策)、③shellcheckでlint、④複雑になったらPythonに移行する潔さも大事。10行を超えるシェルスクリプトはPythonやGoで書き直した方がメンテしやすいことが多いよ