プログラミング

小学生から始めるプログラミング:Raspberry Pi でシェルスクリプトを動かしてみる

更新日:



シェルスクリプト(shスクリプト)というスクリプト言語でプログラムを書いて動かしてみます。

スクリプト言語とは?についてはプログラミングに慣れてから考えるとして、まずはプログラムを書いて実行するという体験をしてみましょう。

小学生の方にもやさしい小さなプログラムを書き、実行して動作を確認するところまで説明します。

sh スクリプトの書きはじめのおまじない

まずはエディタです。

Ubuntu MATE をインストールした方であれば、「Pluma」というエディタが標準で使えるはずです。

画面の左上の「アプリケーション」から辿り、Plumaを起動しましょう。

文字を入力したあと、ファイルを保存したりする方法は、メニュー操作で簡単にできると思います。

スポンサーリンク

さて、今から shスクリプト を書くのですが、このスクリプトを書くときには、第1行目に「おまじない」を書きます。

#!/bin/sh

これが何を意味するのかはいずれ調べることにして、sh スクリプトを書く時のおまじないとして、こう書くものと覚えておくことにしましょう。

2行目からは、shスクリプトの文法に従ってプログラムを書いていきます。

Plumaでもプログラムは問題なく書けますが、別の記事で紹介した emacs をすでに手元に準備できたという方は、早速それを使ってみましょう。

プログラムの基本要素を確認する

プログラムの基本要素として、別の記事で以下の4つを上げました。

  • 変数
  • 表示
  • 繰り返し
  • 条件分岐

shスクリプトについて、この基本要素を順に見ていきます。

変数

shスクリプトの変数に値を入れるには、以下のように記述します。

一つ目の x という変数には、123 という数値が入ります。これはわかりやすいかと思います。

同じく、二つ目の y という変数には、abc という文字列が入ります。

シングルクォーテーション(')で囲っていますが、この場合はなくても同じです。

ただし、abc def という文字列のように、空白を含む文字列は、以下のようにはかけません。

これはエラーになります。

ですので、シングルクォーテーションで常に囲むようにしておけばよいと覚えておけばよいです。

もう一つ、文字列はダブルクォーテーション(")で囲む場合があります。

shスクリプトでは、シングルクォーテーションとダブルクォーテーションとの間に明確な違いがあるのですが、本記事のレベルを超えますので、別の機会に説明します。

表示

sh スクリプトにおいて、変数の中身を表示するコマンドは echo です。

ここで注意していただきたのは、3行目と5行目です。このように、echo 変数名 と書けば変数の中身を表示することができるのですが、その際に変数に$マークをつけるのです。

これで、echo $x の実行結果は 123、echo $y の実行結果は abc def となります。

繰り返し

繰り返しは、sh スクリプトでは以下のように書きます。

急に難しくなりました。雰囲気をつかんでもらうためのものとして簡単に説明します。

2行目は変数aに0を入れます(初期化)。

3行目はすでに出てきました。変数msgに文字列を入れています。

変数名はこのように何文字かの長さをもってもOKです。

4行目の while という命令が繰り返しの開始を表します。[]内の条件が成立するまでこの行と7行めまでの間を繰り返します。

[]内は、「変数aが10未満の間」という条件を表す条件文です。

5行目はすでに出てきました。変数msgの中身を表示します。

6行目は、ここでは変数aの値を一つ増やすという意味です。

ここまでを書いて実行したとき、どういう動作になるかわかるでしょうか?

条件分岐

sh スクリプトにおける条件分岐は、以下のように書きます。

上記のプログラムについて、あとで述べる方法で実行してみていただくとよいですが、そのときに、2行目の a=1 を a=2 に変えたものも実行してみてください。

前者の場合は第4行目、前者の場合は第6行目が実行されることがわかると思います。

sh スクリプトの実行時のおまじない

shスクリプトの実行時にもおまじないがあります。

ファイルを作成したら、ファイル名(拡張子として.shをつけることが多い)をつけて保存しますが、その後、そのファイル名に実行権をつけます。

たとえばファイル名が aaa.sh ならば、ターミナル画面を開けて

chmod +x aaa.sh

と打ち込みます。

こうしておいて、そのターミナル画面から

aaa.sh

と打ち込むと、その sh スクリプトが実行できるのです。

実行権とは何か、など本当は説明が必要ですが、ここでは必要な手続きとしてまずは覚えてください。

スポンサーリンク


スポンサーリンク


スポンサーリンク


スポンサーリンク


-プログラミング

Copyright© 人生、転んだときこそチャンス , 2024 All Rights Reserved Powered by STINGER.