ぐちゃぐちゃ・・・
2017-05-08


禺画像]
ぐちゃぐちゃ・・・


シェルスクリプトのお勉強の一環として、数字を入力してもらうインターフェイスを作ってみる。

#!/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のマシンの上で動き始めた。


続きを読む

[ノンセクション]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット