Bourne Shell

Bourne Shell(sh)はUNIXシステムで最も基本的で歴史的に重要なシェルです。

歴史:

編集
  • 1977年にStephen Bourneによって開発
  • AT&TのBell研究所でUNIX Version 7向けに作られた
  • 多くのモダンシェル(bash, ksh, zshなど)の基礎となった

主な特徴:

編集
  1. コマンドインタープリタとしての機能
    • コマンドの実行
    • パイプラインによるコマンドの連結
    • 入出力のリダイレクション
  2. シェルスクリプト機能
    • 変数の使用
    • 制御構造(if, for, while, case文など)
    • 関数定義
    • コマンド置換

基本的な文法例:

編集
# 変数の定義と使用
variable="value"
echo $variable

# 条件分岐
if [ "$1" = "test" ]; then
    echo "This is a test"
else
    echo "This is not a test"
fi

# ループ
for i in 1 2 3 4 5; do
    echo $i
done

# 関数定義
my_function() {
    echo "Function executed"
}

重要な点:

編集
  • POSIXシェルの基準となっている
  • 最小限の機能セットを持つため、移植性が高い
  • 現代でも組み込みシステムやスクリプトの互換性確保に使用される
  • かつては/bin/shとして多くのシステムに存在しましたが、現在のUNIXでは Almquist Shell にその地位を譲っている。

制限事項:

編集
  • 対話的な機能が限られている(コマンド履歴、補完機能なし)
  • 配列サポートなし
  • 算術演算の機能が限定的
  • 浮動小数点演算非対応

後継シェルとの関係:

編集
  • Bash (Bourne Again Shell): Bourneシェルの機能を大幅に拡張
  • Ksh (Korn Shell): Bourneシェルの直接の後継として開発
  • Zsh: 高度な対話機能を追加

このように、Bourne Shellは現代のUNIX/Linuxシステムにおけるシェルスクリプティングの基礎を築いた重要なソフトウェアです。

下位階層のページ

編集