入力フォームの「送信」ボタンをクリックすると、Webブラウザーが「http://Ubuntu ServerのIPアドレス/cgi-bin/cal.sh?value1=値&value2=値&value3=値&value4=値&value5=値」のアドレスにアクセスし、これでCGIプログラムが動作します。入力値は「value1=値&value2=値&value3=値&value4=値&value5=値」という形式で渡されます。
この値は、そのままの形式で「QUERY_STRING」という環境変数に格納されます。CGIプログラムでは、この環境変数から各値を取り出して足し算しなくてはいけません。このような処理をシェルスクリプトが簡単に書けないわけではないですが、値を取り出す部分にオープンソースソフトを使ってみます。
ここでは「Open-usp-Tukubai」の「cgi-name」コマンドを使いました。Open-usp-Tukubaiは無料で使える、プログラミング言語のPythonで書かれた便利なコマンド集です。cgi-nameコマンドでは、
1 2 3 4 5 6 |
$ echo 'value1=値&value2=値&value3=値&value4=値&value5=値' | cgi-name value1 値 value2 値 value3 値 value4 値 value5 値 |
のように取り出せます。あとは、awkコマンドなどで値だけにすればよいでしょう。
Open-usp-Tukubaiは、次のようにインストールします。
1 2 3 4 5 |
$ cd $ sudo apt install make python $ git clone https://github.com/usp-engineers-community/Open-usp-Tukubai.git $ cd Open-usp-Tukubai $ sudo make install |