![](https://seccdn.libravatar.org/avatar/ebe9e7470f033d101415722d029f0b24.jpg?s=120&d=mm&r=g)
Karl Sinn
Scheinbar muss zwischen "Hallo" und ] ein Leerzeichen stehen. Ich habs reingemacht, und jetzt gehts auch mit dem if.
jau das ist so. Grund [ .. ] ist keine Bash-Syntax, sondern [ ist für (manche) andere Bourne- Shells (also Solaris oder so) ein symbolic link auf /bin/test. Deshalb ist ] ein Argument für /bin/test und wird von test erwartet, wenn man es als [ aufruft. Steht nun kein Space nach "Hallo" vor dem ] dann fehlt eben ein Argument.
Eine weitere Frage:
In dem Tutorial steht, dass [ ] für alte bashs ist und (( )) für neuere Versionen.
Nun ja: wenn das Ziel ist portable shell-Script zu schreiben (also solche die auch mit der Shell von AIX oder Solaris laufen), dann verbieten sich solche BASH-Sachen. Ansonsten glaube ich betrachtet die bash [ als "builtin" Kommando. ((..)) kann aber noch mehr als das einfache [ .. ] So long Jürgen -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 9204871 Fax: +49(721) 24874 Juergen.Vollmer@[informatik-vollmer.de|alumni.uni-karlsruhe.de|acm.org] www.informatik-vollmer.de