はじめに
この実験では、シェルプログラミングにおける基本的な算術演算を行う方法を学びます。果物のバスケットの合計金額を計算するための簡単なスクリプトを作成し、Bashにおける変数と算術式の使用方法を示します。この実験は初心者向けに設計されているため、各ステップを詳細に説明します。
この実験では、シェルプログラミングにおける基本的な算術演算を行う方法を学びます。果物のバスケットの合計金額を計算するための簡単なスクリプトを作成し、Bashにおける変数と算術式の使用方法を示します。この実験は初心者向けに設計されているため、各ステップを詳細に説明します。
新しいBashスクリプトファイルを作成して始めましょう。
WebIDEで端末を開きます。コマンドプロンプトが表示されるはずで、こんな感じになっているかもしれません:labex@ubuntu:~/project$
。
スクリプトをproject
ディレクトリに作成します。デフォルトでは既にこのディレクトリにいますが、cd
コマンドを使って確認しましょう:
cd ~/project
このコマンドは現在のディレクトリを/home/labex/project
に変更します。
次に、fruit_basket.sh
という名前の新しいファイルを作成します。空のファイルを作成するtouch
コマンドを使います:
touch fruit_basket.sh
WebIDEエディタでfruit_basket.sh
ファイルを開きます。WebIDEの左側のファイルエクスプローラーでファイル名をクリックすることで行えます。
すべてのBashスクリプトは「シャバン」行で始める必要があります。この行はシステムにスクリプトを実行するためのインタプリタを教えます。ファイルの先頭に次の行を追加します:
#!/bin/bash
この行はスクリプトをBashインタプリタで実行することを指定します。
スクリプトファイルができたので、さまざまな果物とバスケットのコストを格納するためのいくつかの変数を定義しましょう。
fruit_basket.sh
ファイルに次の行を追加します:
#!/bin/bash
## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1
これを分解してみましょう:
=
記号の周りにはスペースを入れないでください。COST_PINEAPPLE=50
はパイナップルのコストが50セントであることを意味します。コストを定義したので、1つのパイナップル、2本のバナナ、3つのスイカが入った果物のバスケットの合計コストを計算しましょう。
fruit_basket.sh
ファイルに次の行を追加します:
#!/bin/bash
## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1
## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))
この新しい行を見てみましょう:
$(( ))
はBashの算術演算の構文です。これらの二重括弧の中の何でも算術式として扱われます。$
を使う必要はありません。COST_PINEAPPLE
:1つのパイナップルのコスト(COST_BANANA * 2)
:2本のバナナのコスト(COST_WATERMELON * 3)
:3つのスイカのコストCOST_BASKET
:バスケット自体のコストTOTAL
変数に格納されます。注:Bashは整数の算術演算のみを扱います。ドルとセントを扱う場合、少数点演算にはbc
のようなツールを使う必要があります。
計算結果を見るには、合計コストを表示する必要があります。fruit_basket.sh
ファイルに次の行を追加します:
#!/bin/bash
## Define costs
COST_PINEAPPLE=50
COST_BANANA=4
COST_WATERMELON=23
COST_BASKET=1
## Calculate total cost
TOTAL=$((COST_PINEAPPLE + (COST_BANANA * 2) + (COST_WATERMELON * 3) + COST_BASKET))
## Display the total cost
echo "Total Cost is $TOTAL cents"
この新しい行を分解してみましょう:
echo
は端末にテキストを表示するコマンドです。$TOTAL
部分を除いてそのまま表示されます。$
が付いている場合、Bashはそれを変数の値に置き換えます。これを変数展開と呼びます。TOTAL
が128の場合、出力は「Total Cost is 128 cents」になります。スクリプトが完成したので、実行可能にしてから実行する必要があります。
端末で、chmod
コマンドを使ってスクリプトを実行可能にします:
chmod +x ~/project/fruit_basket.sh
このコマンドはファイルのモードを変更し、ユーザーに実行 (x
) 許可を追加します。
次に、スクリプトを実行しましょう:
~/project/fruit_basket.sh
このコマンドはBashに対して、私たちのスクリプトを実行するように指示します。~/project/
の部分は、私たちのスクリプトへのパスを指定します。
以下のような出力が表示されるはずです:
Total Cost is 128 cents
この出力は、私たちの果物のバスケット(1つのパイナップル、2本のバナナ、3つのスイカ、およびバスケット自体)の合計コストが128セントであることを示しています。
この実験では、シェルプログラミングにおいて基本演算子を使って算術演算を行う方法を学びました。個々のコスト用の変数を定義し、算術式を使って合計を計算することで、果物のバスケットの合計コストを計算するBashスクリプトを作成しました。また、スクリプトを実行可能にする方法と、コマンドラインから実行する方法も学びました。
忘れないでおくポイント:
#!/bin/bash
) から始まります。=
記号の周りにスペースを入れずに割り当てます。$(( ))
の中で行われます。echo
コマンドは出力を表示するために使用されます。chmod +x
で実行可能にする必要があります。これらのスキルは、より複雑なシェルスクリプトのタスクの基礎を形成し、スクリプト内で計算を行う必要があるさまざまなシナリオに適用できます。