禺画像]
ぐちゃぐちゃ・・・
シェルスクリプトのお勉強の一環として、数字を入力してもらうインターフェイスを作ってみる。
#!/bin/bash
dialog --clear --msgbox "何か数字を入れてください。" 0 0
while :
do
clear
echo -n "何か数字を入れてください。>>"
read SUUJI
if [ "$SUUJI" = "" ]
then
whiptail --clear --msgbox "空打ちです。何か数字を入れてください。" 0 0
elif [ "$(expr $SUUJI + 1 2>&1 >/dev/null)" = "expr: 整数でない引数" ]
then
whiptail --clear --msgbox "整数を入れてください。" 0 0
else
dialog --clear --yesno "この数字でいいですか?"$SUUJI 0 0
if [ $? -eq 0 ]
then
dialog --clear --msgbox "$SUUJIを取得しました。" 0 0
break
else
SUUJI=""
whiptail --clear --yesno "もう一度、お願いします。" 0 0
if [ $? -eq 0 ]
then
continue
else
whiptail --clear --msgbox "数字は取得されませんでした。" 0 0
break
fi
fi
fi
done
clear
echo $SUUJI
何のコメントも入れなかったので、後から見たら(今でも?)、何が書いてあるのか分からなくなるに決まっている。
dialogとwhiptailと、readが混在していて、何が何やら・・・。
背景色の変更方法を調べたり、テキストを取得するボックスの使い方を調べるのが億劫で、3者混合というわけだな。
NULL値を排除したり、整数以外の入力を排除したり、一応、気を使っているんだが、調べるのが大変で時間を食った。
思ったような画面遷移にならなかったが、まあ、こんなもんか。
UNIX考古学は、第1章を読み終え、いよいよ、UNIX誕生の第2章に入った。
a.outというコンパイル後のターゲットファイルの名前、黒板に書かれた構想しかなかった「チョークファイル」の実装・・・。
1969年の夏、UNIXは、アセンブラ言語で書かれたシステムプログラムとして誕生する。
目的はただ一つ、スペーストラベルというコンピューターゲームをするだめだった(そうなのかあ?)。
スペーストラベル自体は、クロス開発環境(GEマシン)の上でコンパイルされ、実行ファイルとして、紙テープに打ち込まれてDECのPDP−7というマシンの上で動いていたが、PDP−7上で開発環境を得るために、アセンブラでゴリゴリとツールを書いたらしい。
UNIXがCで書かれたのは、もっと後の話だ(1973年)。
そもそも、何をもってUNIXとするかという話もある。
商業的な定義はあるんだろうが、このPDP−7で動いたプログラム群をそう呼ぶかどうかは、いささか疑問があるな。
(PDP-7)
[URL]
「1969年、ケン・トンプソンはPDP-7上でアセンブリ言語で最初のUNIXを作成した。」
「当初の名前は Unics であり、Multicsを連想させるちょっとした駄洒落になっている。」
「実際にはUNIX以前にSpace TravelというゲームをMulticsの元となったGE 635上からPDP-7に移植しており、後にこのゲームがUNIX上で動作するようにしている。」
しかし、1969年当時は、Unicsというシャレを意識した名前すらない。
つまり、1969年にPDP−7で動いたプログラム群がUNIXだというのは、後知恵に過ぎない(たぶん)。
UNIXが持つ様々な特徴は、こういった初期の開発状況の中から、必然的に生まれてきたもの様に思われる。
誰かが、教祖になって広めたわけではない(後には、大勢教祖が出てくるようですが)。
69年、後にUNIXと呼ばれることになるシステムプログラムが、DECのマシンの上で動き始めた。
セコメントをする