
	===============================================

@(#)	  OKAMI SHELL VERSION 1.4 - KURZEINFHRUNG

	===============================================
			Stand: 19.9.92


	**					**
	**	English readers please read	**
	**	the 'english.doc' file		**
	**					**


Okami-Shell ist eine Unix-hnliche Kommandoshell fr alle Atari ST-Rechner.
Vorbild war die Unix-Bourne-Shell.

Sie arbeitet:
	* mit jeder Speicherkonfiguration (auch mit 512KB)
	* mit jeder Bildauflsung
	* mit Diskette, Ramdisk und Festplatte
	
Beschrnkungen:
	* Der Start der Shell von Diskette ist mglich, aber wegen der
	  geringen Geschwindigkeit wird Ramdisk oder Festplatte empfohlen.
	* Zur Benutzung der Pipe mu mindestens ein Laufwerk beschreibbar
	  sein. Dies mu nicht notwendig das Laufwerk sein, von dem die
	  Shell gestartet wurde.

Zum Starten der Shell:
	* sh.ttp anklicken und als Parameter ein Minuszeichen angeben.
oder:	* msh.prg anklicken.

Fr Hilfe:
	* "help" oder "cmds -C" eingeben.
	* Die Help-Taste liefert eine Anleitung zu jedem internen Kommando.

Zum Beenden der Shell:
	* "exit" eingeben.
oder:	* Ctrl-D drcken.

	
Das wichtigste in Krze:
	* Standard-Unix-Kommandos: cat, ls, cd, pwd, cp, mv, rm, rmdir,
	   df, pg, echo, grep, find, chmod, touch, date, mkdir, basename,
	   dirname, time, xargs, backup, if, while, shutdown,...
	* ber 100 eingebaute Kommandos
	* eingebauter UPN-Rechner mit ber 80 Funktionen
	* Shell-Variablen setzen in der Form NAME=WERT
	* Ausfhrung von der Shell als TTP-Parameterzeile bergebenen
	  Kommandos mit darauffolgender Beendigung der Shell mglich
	* Aufruf ber den _shell_p-Zeiger mglich, incl. Quellcode der
	  system()-Funktion
	* Konfiguration der Shell durch eine nach Programmstart auszu-
	  fhrende Kommandodatei (Profile)
	* Eingabe, Ausgabe und Fehlerausgabe aller interner Kommandos
	  umleitbar mit <, >, >>, 2>, 2>> fr alle Programme, die
	  Ein- und Ausgabe auf Gemdos-Basis benutzen
	* Simulation von Pipelining: Die Ausgabe eines Kommandos wird
	  zur Eingabe eines anderen; beliebig schachtelbar
	* Command Substitution: z.B.
	  echo Der Basisname von $FILE ist `basename $FILE`
	* Unix-Wildcards, z.B. a[bcd-f]*e?.[xy]? etc.
	* Ausfhrung von Shellscripts (Batch-Files) mit Parameterbergabe
	* Shellfunktionen = speicherresidente Shellscripts mglich; Shell-
	  funktionen knnen interne Kommandos umdefinieren (die ursprng-
	  lichen Kommandos knnen trotzdem noch aufgerufen werden
	* Shellfunktionen knnen auch mit der Tastatur eingegeben werden
	* Binrprogramme knnen resident gehalten und ber Shellfunktionen
	  gestartet werden
	* Hash-Tabelle: die Pfade von aufgerufenen Programmen werden gespei-
	  chert und beim nchsten Aufruf ohne Suchen gefunden
	* Tastatureingabe mit History (Zurckholen vorheriger Eingaben
	  per Tastendruck)
	* Filename Completion und Substitution auf Tastendruck
	* Alle Tasten inkl. F-Tasten frei mit Kommandos belegbar
	* Suchen von Programmen auf konfigurierbaren Pfaden, mit
	  konfigurierbaren Extendern zur Erkennung ausfhrbarer
	  Programme
	* Pfadangaben knnen wie in TOS (z.B. d:\shell\sh.ttp, getrennt mit
	  Backslash) oder Unix (z.B. d:/shell/sh.ttp, getrennt mit Slash)
	  angegeben werden
	* Programmierung mit if und while, schachtelbar
	* Terminal Server: der Rechner kann ber eine beliebige Schnitt-
	  stelle ferngesteuert werden
	* Eingebauter Terminal-Emulator
	* Untersttzung von OverScan: OverScan kann per Shell-Kommando
	  ein- und ausgeschaltet werden
	* Alle GEM-Programme sind von der Shell aus ausfhrbar
	* Online-Help mit Syntaxerklrung aus einer editierbaren Datei
	* Help-Taste liefert Anleitung zu jedem Kommando aus der Anleitungs-
	  Datei der Dokumentation (commands.doc, ber 170 KB)
	* Bildschirmschoner und Uhr auf Tastendruck
	* Auswertung und Einstellung der Environment-Variablen
	* Parameterbergabe per xArg mglich
	* ausfhrliche deutsche Dokumentation (>300 KB) mit vielen Beispielen
	* Software-Support bei Fehlern und Fragen, nicht gebunden an
	  die Zahlung von Anerkennungsbeitrgen etc.
	und vieles mehr......

Das wichtigste in Beispielen:

	rm test.o		(Lschen einer Datei)

	cat test.txt		(Anzeige einer Datei)

	cd d:\shell\bin 	(Wechsel des aktuellen Laufwerks und des
				 aktuellen Directories)

	cd ..			(Wechsel ins Parent-Directory des aktuellen
				 Directories)

	ls -ls d:\		(Ausfhrliche Dateiliste mit Attributen,
				 Dateigre und -Datum, sortiert nach der
				 Dateigre)

	ls -l d:\ >dir.txt	(Umleitung der Ausgabe)

	hd test.prg | pg	(Seitenweise Ausgabe eines Hexdump)

	date >>datum.log	(Anfgen des Datums an das Ende einer Datei)

	echo Bitte Name eingeben
	read NAME		(Benutzung von Shellvariablen)
	echo Der Name ist $NAME

	TMPNAME=dat$$.tmp	(Erzeugen eines eindeutigen Dateinamens
				 durch die System-Shellvariable $, deren
				 Wert sich stndig ndert [in Unix:
				 Prozessnummer])

	PS1='Eingabe >' 	(ndern des Shell-Prompts)	  

	a=`date`		(Einlesen des Datums in die Variable a)
	echo Das Datum ist $a

	grep printf *.c 	(Suchen von "printf" in allen C-Dateien)

	df C: E: F:		(Ausgabe der Plattenbelegungen)

	chmod +hr secret.dat	(Verstecken und Schreibschtzen einer Datei)

	help | grep chmod	(Ausgabe der Syntax des Kommandos chmod)

	find d:\ -name test.* -print	(Ausgabe des Pfades aller Dateien namens
				 test.* auf Laufwerk D:)

	pg $HOME\profile	(Seitenweise Ausgabe der Konfigurationsdatei)

	cursor 12		(Setzen der Cursor-Geschwindigkeit)

	mouse x y		(Abfrage der Maus-Koordinaten, Speichern der
				 Werte in den Variablen x und y)

	fsel *.c test.c 	(Auswahl einer Datei mit der Fileselect-Box)

	touch sh.c		(Erneuern des Dateidatums von sh.c)

	cls			(Bildschirm lschen)

	time test.tos		(Messen der Ausfhrungszeit eines Programmes
				 auf 1/100 Sekunden genau)

	export TERM		(bernahme der Variablen TERM ins Environment)

	find d:\ -name *.bak -exec "rm {}"	(Lschen aller *.bak-Dateien
				       auf Partition D:)

	seek d:\ *.* | backup	(Sichern aller Dateien von Partition D:
				 auf Diskette)

	seek e:\ *.* | xargs wc | pg  (Seitenweise Ausgabe der Anzahlen der
				 Zeilen, Zeichen und Worte aller Dateien
				 auf Partition E:)

	echo Auf A: sind `find A: -type x -print | wc -l` Dateien ausfhrbar.
				(Zhlen der ausfhrbaren Dateien auf A:)
	
	df -mn | xargs seek {}\ *.* | wc -l
				(Zhlen aller Dateien auf allen Laufwerken)

	upn 17 sqr pi * 	(Berechnen der Oberflche eines Kreises mit
				 Radius 17)

	keydef F4 "dir *.c"	(Tastendefiniton: "dir *.c" wird auf die Taste
				 F4 gelegt)

	rm test.dat ; echo test.dat ist gelscht
				(Verkettung von Anweisungen)

	format			(Formatieren der Diskette in Laufwerk A:)

	format -t40 -s10 B:	(Formatieren von Diskette B: mit 40 Tracks
				 und 10 Sektoren/Track)

	df(e:/newdf.sh) 	(Laden der Datei e:/newdf.sh und Abspeichern
				 als Shellfunktion, die anstelle des Komman-
				 dos df benutzt werden kann; in der Datei
				 kann das ursprngliche Kommando df unter
				 dem Namen !df benutzt werden)

        signum(e:signum2.prg)	(Laden und residenthalten von signum2.prg,
				 Aufruf ber die Shellfunktion "signum")

	while [...]		(Schleifenbildung und Programmierung)
	do
	  ....
	  if [...]
	  then
	    ...
	  fi
	  break 		(Abbruch der while-Schleife)
	  continue		(Neuer Schleifendurchlauf)
	done


Weitere Beispiele: siehe commands.doc und tricks.doc


Dokumentation:

	readme			Kurzeinfhrung
	release 		Versions-Identifikation der Shell
	okami.doc		Bedienung der Shell
	english.doc		Kurzfassung davon auf Englisch
	commands.doc		Bedienung der internen/externen Kommandos
	tricks.doc		Tips&Tricks zur Benutzung der Shell
	changes.doc		nderungen der Shell
	kompat.doc		Kompatibilitt zu lteren Shell-Versionen
	copying			Regelung des Kopierens der Shell
	msh.doc 		Benutzung der Micro-Shell
	autor.doc		Anschrift des Programmautors
