Hallo, Am Tue, 20 Jan 2004, Bernhard Walle schrieb:
* Thorsten Haude
[2004-01-20 00:36]: * Michael Matz
[2004-01-19 11:28]: if [ $# == 0 ]
Dies hier. '==' gibt's nicht. Algebraische Gleichheit wird mit -eq getestet, i.e. if [ $# -eq 0 ]
Also liegt der Fehler bei der bash, nicht bei der dash.
wieso Fehler? POSIX besagt nicht, dass Erweiterungen der Syntax nicht zulässig wären.
Und in der Manpage steht eindeutig folgendes:
,---- | string1 == string2 | True if the strings are equal. = may be used in place of == | for strict POSIX compliance. `----
Da steht aber nicht "num1 == num2". Vergleiche: test 0 -eq \000 test 0 = \000 test 0 == \000 test 1 -eq \000 test 1 = \000 test 1 == \000 test 1 -eq \001 test 1 = \001 test 1 == \001 -dnh -- Niemand käme auf die Idee, Tinte mit Tinte abzuwaschen nur Blut soll immer wieder mit Blut abgewaschen werden. -- Ebner-Eschenbach