Hallo Liste
On Wed, Jun 28, 2001 wrote:
if [ ${#COLUMN} -eq $VALUE ] ; then Substitutionen wie ${#...} findest Du in der Manpage zu bash. Diese Methode funktioniert uebrigens nicht mit der standard Bourne-Shell, es ist eine bash-spezifische Erweiterung.
Jetzt hast meine Neugier geweckt, wie sieht das dann in der bourne-shell aus ??
Die Bourne-Shell (also die alte Unix-Standardshell) kennt Konstrukte wie ${#...} nicht. Bash ist ja eine von GNU aufgebohrte Shell, die abwaertskompatibel zur Bourne-Shell ist .......... Wenn Du portable Shellskripte schreiben willst, die auf verschiedenen Unices laufen, musst Du Dich auf die Moeglichkeiten der Bourne Shell beschraenken.
Genau, ich wollte meine Scripte kompatibel halten, deswegen wollte ich eigentlich nur wissen wie dieser Vergleich (Zahl=String) in der Bourne Shell aussehen sollte. Damit das script ein klein bischen kompatibel bleibt.
Tschüß
On Thu, Jun 28, 2001 at 02:21:06PM +0200, Sven Jäkel wrote:
Wenn Du portable Shellskripte schreiben willst, die auf verschiedenen Unices laufen, musst Du Dich auf die Moeglichkeiten der Bourne Shell beschraenken.
Genau, ich wollte meine Scripte kompatibel halten, deswegen wollte ich eigentlich nur wissen wie dieser Vergleich (Zahl=String) in der Bourne Shell aussehen sollte. Damit das script ein klein bischen kompatibel bleibt.
Das ist mit sh-interner Funktionalität nicht möglich. Mir ist zumindest auf die Schnelle noch kein Weg eingefallen. Allgemein: * Kompatibilität ist immer eine nette Sache. Wenn man sich aber, nur um Kompatibilität zu erreichen, bei den verwendeten Werkzeugen auf Faustkeilniveau begibt, hat man wohl in 99% der Fälle das Problem eher unschön gelöst. * Auch die bourne-shells sind nicht wirklich alle kompatibel zueinander bzw fehlerhaft. Ich meine mich erinnern zu können, daß autoconf-skipte auf Ultrix sowas wie "Checking for buggy /bin/sh ... yes, using /bin/sh5" machen. Warum wohl?
Kristian Koehntopp schrieb dazu mal treffend: "Verwende Perl. Shell will man koennen, dann aber nicht verwenden." Und Adam hat das auch nicht zum Spass geschrieben.
Reinhard
lug-dd@mailman.schlittermann.de