基本情報
概要
Bash(バッシュ)とは、GNUプロジェクトによるプロダクトで、多くのUNIX/Linux系OSで標準的に使われるシェルです。
「シェル」とは
「シェル」とは、ユーザからの操作を受け付け、結果を表示するソフトウェアです。「ユーザからの入力をカーネルに伝え、カーネルからの出力をユーザに伝える」という、ユーザとカーネルの間の橋渡しを行うプログラムです。ユーザ側からはカーネルを包み込んでいる貝殻(shell)のように見えることから「シェル」と名付けられました。
シェルは、CUI(コマンドベース)です。CUIであるため作業の自動化に適しています。「連続する作業を1つにまとめて実行する」「複数ファイルに対して同じ処理を繰り返し行う」などの処理を得意としています。
実行したいコマンドを並べたテキストファイルのことを「シェルスクリプト」といいます。
基本説明
Bashは「Bourne Again shell」の略であり、正式名称は「GNU bash」です。GNUプロジェクトの一部として開発が進められ、オープンソースソフトウェアとして公開されています。Linuxにおけるデファクトスタンダードシェルとして使用されています。
ベースとなった「Bourneシェル」に、後発である「Cシェル」「kornシェル」などの多くの優れた機能を取り込み、高機能化が図られています。インタラクティブな操作性を提供します。
「コマンドライン編集機能」「ジョブ制御機能」「コマンド履歴」「ディレクトリスタック」「$RANDOM変数」「POSIX形式のコマンド置換機能」「入力途中のコマンド名/ファイル名などの自動補完機能」などがサポートされています。
オプション/変数が数多く用意されており、柔軟なカスタマイズが可能となっています。また、シェルプログラミング環境も充実しています。
豊富な機能を持つため扱いやすいですが、若干重いという面があります。
経緯
1987年、「Bourneシェル」の後継として開発
1988年、最初の版が発表
1996年、「Bash-2.0」リリース
主な特徴
マルチプラットフォーム
数多くのLinuxシステム、「Mac OS X(10.3以降)」に標準搭載されています。また、Windowsにも移植されています。
ジョブ
Bashは、パイプラインによってつながれた一連のプロセス群を「ジョブ」という単位で管理します。ユーザはジョブに対してさまざまな制御を行えます。
主な機能
補完機能
コマンドプロンプトでTabキーを押すことで、コマンド名/ファイル名を補完できます。
リダイレクトパイプ機能
リダイレクトすることで標準入出力をコンソールからファイルなどへ変更できます。
シェル変数/環境変数
シェル固有変数「シェル変数」、グローバル変数「環境変数」を使用して、各種制御を行えます。
制御構造
Bashには「if/while/for/case」など基本的な制御構文が用意されています。
配列
配列も使用できます。C言語の配列に似ています。
キーバインド
キーバインドを使用して「過去に入力したコマンドの履歴表示」「インクリメンタルサーチ」などを行えます。
展開
コマンド文字列を受け取った後に、規則に従って展開を行ってから実行します。
「ブレース展開」「チルダ展開」「ファイル名展開」「変数展開」「コマンド置換」などがあります。
エイリアス
コマンド(+オプション)に対する「別名」を設定できます。
同様製品
同様な機能を提供する製品として、次のようなものがあります。
「sh」「ksh」「csh」「tcsh」「zsh」など。
ライセンス情報
Bashのライセンスは「GNU General Public License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。