はじめに

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

WebIDE (VS Code) の紹介

このステップでは、Visual Studio Code (VS Code) ベースのWebIDEについて説明します。この統合開発環境(IDE)を使用すると、スクリプトの編集やターミナルへのアクセスを1か所で行うことができ、非常に便利です。

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

WebIDEへのアクセス

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

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

ターミナルを開く

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

上部メニューの「Terminal」をクリックし、ドロップダウンから「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のインターフェースを使用してファイルを作成することもできます。

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

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

シェルスクリプトの編集

このステップでは、WebIDEの内蔵エディタを使用してファイルに内容を追加します。

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

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

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

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

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

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

入力後、Ctrl + S を押すか、上部メニューの「File」>「Save」を選択してファイルを保存してください。

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

このステップでは、スクリプトを実行可能にします。Unix系システムでは、ファイルには読み取り、書き込み、実行の権限を制御するパーミッションがあります。デフォルトでは、新しいファイルは実行可能ではありません。

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

chmod +x hello.sh

このコマンドの詳細は以下の通りです。

  • chmod はファイルパーミッションを変更するコマンドです。
  • +x は「実行権限を追加する」という意味です。
  • hello.sh は対象のファイル名です。

コマンドが成功すれば、出力は何も表示されません。

スクリプトの実行

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

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

./hello.sh

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

Hello, World!

ターミナルのスクリプト実行出力

おめでとうございます!これで最初のシェルスクリプトを実行できました。

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

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

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

cat hello.sh

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

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

スクリプトを扱う際は、このように作業内容を常に再確認する習慣を身につけましょう!

まとめ

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

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

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

プログラミングにおいて、練習は非常に重要です。スクリプトを修正して別のメッセージを表示させたり、他の簡単なタスクを実行する新しいスクリプトを作成したりしてみてください。恐れずに実験してみましょう。それが上達への近道です!