[ホーム] > [間違えやすい類語 IT編一覧] > [バッチ と シェルの違いは]

バッチ と シェルの違いは

作成日:2020/01/29

このページではバッチファイル(bat file) とシェル(shell) の違いに関して説明します。
このページでは「狭義」の意味での「バッチファイル」「シェルスクリプト」を説明します。広義の意味ではニュアンスが全くことなる点に注意してください。

共にテキストファイル(text file)として記載されたプログラムであることは同じです。バッチファイルは90年代のWindows から使用されていた簡単なプログラムです。シェルスクリプトはこれも古いUnix時代から使用されていたテキストベースのプログラムです。

2021年11月15日追記
Windows には バッチファイルの後継として"Windows Powershell"があります。これはどちらかというと"シェルスクリプト"といえるでしょう。


(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明バッチファイル(batfile)シェルスクリプト(shell script)
概要Windows で使わる処理を記載したファイル。シェルでの動作を記載したファイル。
拡張子*.bat
*.cmd
など
*.sh
*.bash
など
主な目的コマンドプロンプト上での処理をファイルにまとめて記載して一気に実行する。
シェル上での処理をファイルにまとめて記載して一気に実行する。
主なプラットフォームWindows
主にUNIX系(Linuxなど)
(ただし最近のWindows ではWSLにより シェルが簡単に実行できるようになりました。)

またWindows にはバッチファイルの後継である"Powershell"があります。これはどちらかというと"シェルスクリプト"に分類されるでしょう。
例:@echo off
mkdir testdir
if %ERRORLEVEL%==1 echo "ディレクトリエラー"

#!/bin/sh

for file in `\find . -maxdepth 2 -type f`; do
echo $file >> out
done
その他Windows 3.1やWindows 95からの古い技術。現在では powershell がメインとなりつつある。
現在でもスクリプトの記載としてよく使用される。

関連リンク:
シェル、コンソール、端末、コマンドラインの違いを比較表で解説

シェル変数と環境変数の違い


[ホーム] > [間違えやすい類語 IT編一覧]
,







【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。