Hat dir diese Antwort geholfen?
Hallo
Die Fehlermeldung bei == kam bei mir nicht, sondern funktionierte, genau wie mit einem =.
Mich wundert vielmehr, dass es auch mit = geht Huh
vielleicht kommt es auch da wieder darauf an, welche shell benutzt wird.
hier steht (bash), nur ein =
http://www.faqs.org/docs/Linux-HOWTO/Bash-Prog-Intro-HOWTO.html#ss6.2allerdings unter sh stehen 2 ==
http://www.dreamsyssoft.com/unix-shell-scripting/ifelse-tutorial.phpjetzt ist es so, wenn ich ein Shellskript mit sh skript starte, wird dieses skript mit der /bin/dash shell gestartet (standard Debian)
und schreibt mir möglicherweise einen Fehler bei ==
wenn du unter SuSE das Skript mit sh skript startest, startet es das Skript möglicherweise mit der /bin/sh, wo wiederum zwei == braucht.
oder möglicherweise wird auf die /bin/bash verknüpft, die beides kennt.
bei meinen Tests, kriege ich mit der bash keine Fehlermeldung (bei beiden Methoden), mit sh (benutzt unter Ubuntu + Debian die dash), krige ich die oben geschribene Fehlermeldung.
Allerdings:starte ich das Skript mit 2 Gleichzeichen, schreibt es mir einen Fehler, wenn die Antwort falsch ist. Die so aussieht.
test.sh: Zeile 10: break: nur in einer `for', `while' oder `until' Schleife sinnvoll.
gebe ich einen anderen Befehl unter else ein, schreibt er mir keinen Fehler.
Mit einem = schreibt es mir für break keinen Fehler.
gruss
Hardy1979