はじめに

この実験では、定番の「Hello, World!」メッセージを表示するシンプルなシェルスクリプトの作成手順を解説します。Linux などの Unix 系オペレーティングシステムで広く利用されている Bash シェルを使用して、シェルプログラミングの基礎を学びます。この実験は初心者向けに設計されているため、プログラミングやコマンドラインの操作が初めての方でも心配いりません。

これはガイド付きの実験(Guided Lab)であり、学習と実践を支援するためのステップバイステップの指示を提供します。各ステップを慎重に進め、ハンズオンでの経験を積んでください。過去のデータによると、この実験は中級レベルで、完了率は 80% です。また、学習者から 99% の高い評価を得ています。

WebIDE (VS Code) の紹介

このシェルスクリプトコースでは、Visual Studio Code (VS Code) ベースの WebIDE を使用します。この統合開発環境(IDE)を使用すると、スクリプトの編集とターミナルへのアクセスをすべて 1 つの場所で便利に行うことができます。

注意点として、WebIDE のデフォルトのシェルは Zsh ですが、この実験では Bash スクリプトを記述します。Bash (Bourne Again SHell) は、Unix 系システムで最も一般的で広く使われているシェルです。Zsh (Z Shell) は Bash の拡張版であり、いくつかの改良や機能が追加されています。この実験の目的においては、スクリプト内でシバン(shebang)行(#!/bin/bash)を使用して明示的に Bash を指定するため、シェルの違いが作業に影響することはありません。

WebIDE へのアクセス

実験を開始すると、ブラウザに WebIDE インターフェースが表示されます。主に以下の部分で構成されています。

  1. ファイルエクスプローラー(左サイドバー):ディレクトリ構造とファイルを表示します。
  2. エディタ(中央エリア):スクリプトを記述・編集する場所です。
  3. ターミナル(下部パネル):コマンドを実行したり、スクリプトを動かしたりする場所です。

ターミナルを開く

WebIDE でターミナルを開くには:

  1. 上部メニューの「Terminal」をクリックします。
  2. ドロップダウンから「New Terminal」を選択します。

これにより、WebIDE の下部に新しいターミナルパネルが開きます。次のようなコマンドプロンプトが表示されます。

labex:project/ $

これは、ユーザー labex としてログインしており、現在のディレクトリが ~/project/home/labex/project の略記)であることを示しています。

ターミナルの使用

WebIDE ターミナルインターフェースの例

このターミナルは、通常の Linux システムのターミナルと同じように使用できます。例えば、現在のディレクトリの内容を確認するには、次のように入力します。

ls

入力して Enter キーを押すと、現在の場所にあるすべてのファイルとディレクトリが表示されます。

シェルスクリプトファイルの作成

次に、シェルスクリプト用の新しいファイルを作成しましょう。これにはターミナルで touch コマンドを使用します。touch コマンドは、空のファイルを作成したり、既存のファイルのアクセス時刻や修正時刻を更新したりするために使用されます。

ターミナルに次のコマンドを入力して Enter キーを押してください。

touch hello.sh

このコマンドにより、現在のディレクトリに hello.sh という名前の空のファイルが作成されます。.sh という拡張子はシェルスクリプトで一般的によく使われますが、必須ではありません。

ターミナルの touch コマンド例

このコマンドを実行しても、出力は何も表示されません。Unix 系システムでは、出力がないことは通常、コマンドが正常に成功したことを意味します。

あるいは、WebIDE のインターフェースを使ってファイルを作成することもできます。

  1. ファイルエクスプローラーで、/home/labex/project ディレクトリ内を右クリックします。
  2. コンテキストメニューから「New File」を選択します。
  3. ファイル名 hello.sh を入力して Enter キーを押します。

これにより、hello.sh という名前の新しいファイルが作成され、エディタで開かれます。

シェルスクリプトの編集

ファイルが作成できたので、内容を追加しましょう。WebIDE に組み込まれたエディタを使用します。

ファイルがまだエディタで開かれていない場合は:

  1. ファイルエクスプローラーで hello.sh をダブルクリックして開きます。

エディタに、以下の 2 行を正確に入力してください。

#!/bin/bash
echo 'Hello, World!'

これらの行の意味を解説します。

  1. #!/bin/bash - これは「シバン(shebang)」行と呼ばれます。このスクリプトを実行するためにどのインタプリタを使用すべきかをシステムに伝えます。ここでは Bash シェルを指定しています。
  2. echo 'Hello, World!' - この行は echo コマンドを使用して、「Hello, World!」というテキストを画面に出力します。

入力が終わったら、Ctrl + S を押すか、上部メニューの「File」>「Save」からファイルを保存してください。

スクリプトを実行可能にする

スクリプトを実行する前に、実行権限を与える必要があります。Unix 系システムでは、ファイルには誰が読み取り、書き込み、実行できるかを制御する「権限(パーミッション)」があります。デフォルトでは、新しく作成されたファイルに実行権限は付与されていません。

スクリプトを実行可能にするには、chmod(change mode の略)コマンドを使用します。ターミナルに次のコマンドを入力して Enter キーを押してください。

chmod +x hello.sh

このコマンドの内容は以下の通りです。

  • chmod: ファイルの権限を変更するコマンド
  • +x: 「実行権限(execute)を追加する」という意味
  • hello.sh: 対象のファイル名

成功した場合、このコマンドからも出力は表示されません。

スクリプトの実行

スクリプトが実行可能になったので、実際に動かしてみましょう。現在のディレクトリにあるスクリプトを実行するには、スクリプト名の前に ./ を付けます。この ./ は、現在のディレクトリ内でスクリプトを探すようシステムに指示するものです。

ターミナルに次のコマンドを入力して Enter キーを押してください。

./hello.sh

すべて正しく設定されていれば、次のような出力が表示されます。

Hello, World!
ターミナルのスクリプト実行結果

おめでとうございます!はじめてのシェルスクリプトの実行に成功しました。

スクリプトの内容を確認する

最後のステップとして、スクリプトファイルの内容を表示して、すべてが正しいか確認しましょう。これには、ファイルの内容をターミナルに表示する cat コマンドを使用します。

ターミナルに次のコマンドを入力して Enter キーを押してください。

cat hello.sh

スクリプトの内容が表示されるはずです。

#!/bin/bash
echo 'Hello, World!'

スクリプトを扱う際、自分の作業を再確認する(ダブルチェックする)のは非常に良い習慣です。

まとめ

この実験では、シンプルな Bash シェルスクリプトの作成と実行に成功しました。以下の内容を学習しました。

  1. WebIDE の操作方法と統合ターミナルの使い方
  2. touch コマンドまたは WebIDE インターフェースを使用した新しいスクリプトファイルの作成
  3. WebIDE 内蔵エディタを使用したファイルの編集
  4. シェルスクリプトにおけるシバン(shebang)行の役割の理解
  5. テキストを出力するための echo コマンドの使用
  6. chmod コマンドを使用したスクリプトへの実行権限の付与
  7. コマンドラインからのシェルスクリプトの実行
  8. cat コマンドを使用したファイル内容の確認

これらの基礎スキルは、Unix 系環境におけるより高度なシェルスクリプトの作成や自動化タスクの土台となります。学習を続けるにつれて、システム管理やタスク自動化においてシェルスクリプトがいかに強力で柔軟であるかに気づくでしょう。

プログラミングにおいて、練習は上達への近道です。スクリプトを書き換えて別のメッセージを表示させたり、他の簡単なタスクを行う新しいスクリプトを作成したりしてみてください。失敗を恐れずに実験を繰り返すことが、学習において最も大切なことです。