マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Bash

【OSS情報アーカイブ】Bash

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Bash」とは

基本情報

概要

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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。