\r\n\r\n
Linuxを長く使っていると、Bashという言葉をフォーラムや記事で見かけることがあるのは間違いない。ターミナルと同義語のように見えることもありますが、Bashとターミナルエミュレータは間違いなく別のアプリケーションです。では、Bashとはいったい何なのか。この短い記事では、Bashとは何か、Bashで何ができるのか、Bashを使い始める方法について見ていきます。
Bashという名前はBourne SHellの略で、Bashの前身の一つを作ったstephenbourneという名前にちなんだダジャレである。1989年に最初のベータ版がリリースされ、執筆時点の最新アップデートは2020年12月:バージョン5.1です。
Bashは最も人気のあるシェル言語の1つで、強力な機能と使いやすいコマンドの組み合わせで知られています。これが、Linuxディストリビューションに豊富に搭載されている理由です。
BashはLinuxだけでなく、macOSやBSDでも動作し、WindowsでもWindows Subsystem for Linuxを介して使用することができます。
続きを読む: Windows10でLinuxのBash Shellを取得する方法
しかし、Bashを本当に定義するためには、シェルとは何かを理解する必要があります。
シェルとは、ユーザーからの入力を受けて適切な動作を行うアプリケーションのことで、通常はその動作を実現するためにカーネルと通信を行います。このように、カーネルを囲む「殻」のような役割を担っているのです。
シェルはコマンドで他のアプリケーションを起動しますが、それ自体が対話的であることも少なくありません。
例えば、Linuxのターミナルを開いて、上矢印ボタンを押して最後に発行したコマンドを取得する場合、これはBashアプリケーションの機能である。ディレクトリを変更するcdコマンドも、非常によく使われるBashコマンドです。
Bashは対話型アプリケーションであると同時に、スクリプト言語でもある。実際、Linux オペレーティングシステムでは、起動時にさまざまなプロセスを開始するために、多数の Bash スクリプトが使用されています。
ほとんどのLinuxシステムでは、ターミナルを使用するときはいつでもBashが利用できます。
このコマンドで確認することができ、使用されているシェルの名前を返します。
echo $0bashという単語だけが表示されるはずです。このようにすると、このコマンドで使用されているBashのバージョンは
bash --versionというような画面になるはずです。
しかし、ターミナルで1つのコマンドを発行することは、Bashの使い方のほんの始まりに過ぎない。
OSで使われているスクリプトと同様に、Linux PCで手動で行うことの多い処理を自動化するBashスクリプトの書き方を学ぶことができます。熟練したBashスクリプターは、1日に何百ものタスクを自動化することができます。
では、Bashを学ぶにはどうしたらよいのでしょうか。
自分で、あるいはBashコースなどで指導を受けながら、スクリプトを書くこと。
ゲーマーの場合は、バッシュゲームをプレイすることで学ぶこともできます。その一例が、テキストベースのダンジョンクローラー「bashclawl」で、ゲームを進めるためにBashコマンドを学習し、呼び出すことを強要するものです。
また、ここではその活用法についての記事も掲載していますので、より優れたBashの脚本家になるためのトレーニングになります。例えば、Bashでforループを書く方法や、スクリプトをクリックできるアプリケーションに変換する方法などをご紹介しています。
Bashとは何か、その歴史、そしてBashを活用する方法をご紹介します。
しかし、Bashを学ぶことは、Linuxオペレーティングシステムを最大限に活用するための一部に過ぎません。Linuxのスーパーユーザーになるために学べることは、まだまだたくさんあります。