z00k
I love my slack! Do u?
Howdy,
brauche (wieder mal) die Hilfe unserer Script-Gurus hier
Habe nen bash script geschrieben, welches direkt zu Beginn eine Funktion ausfuehren soll, um auf uebergebene Argumente zu pruefen.
Quasi so:
Folgendes Verhalten tritt ein, wenn ich das Script laufen lasse:
Uebergebe ich kein Argument, wird die Funktion 'updatecvs' ausgefuehrt und steigt danach aus. Also genau mein gewuenschtes Verhalten.
Wenn ich nun aber ein Argument uebergebe, wird trotzdem der 'then' Block ausgefuehrt (Funktion 'updatecvs' und anschliessedes 'exit').
Hat jemand nen Tipp fuer mich woran das liegen koennte?
EDIT:
Habe den Code einfach mal grade ohne den 'function' Block vor den Code geschoben und komme somit zu meinem gewuenschten Verhalten. Doch meine Frage bleibt ja quasi bestehen: Wieso funktioniert der Gleiche Code (in einen 'function' Block gepackt) nicht?
Bin eigentlich JAVA Entwickler und moechte deswegen am liebsten alles natuerlich ein bisl OO anordnen, soweit es geht natuerlich ;-)
EDIT2:
OK, bin selber drauf gekommen. Wenn ich der Funktion 'checkarg' mit dem Argument $1 aufrufe, funktionierts auch. Also scheinen $1, $2, ... wohl keine globalen Variablen zu sein ;-)
Danke im Vorraus!
gReetZ
brauche (wieder mal) die Hilfe unserer Script-Gurus hier
Habe nen bash script geschrieben, welches direkt zu Beginn eine Funktion ausfuehren soll, um auf uebergebene Argumente zu pruefen.
Quasi so:
Code:
function checkarg {
if test -z "$1"
then
updatecvs ; exit
fi
}
checkarg
...
Folgendes Verhalten tritt ein, wenn ich das Script laufen lasse:
Uebergebe ich kein Argument, wird die Funktion 'updatecvs' ausgefuehrt und steigt danach aus. Also genau mein gewuenschtes Verhalten.
Wenn ich nun aber ein Argument uebergebe, wird trotzdem der 'then' Block ausgefuehrt (Funktion 'updatecvs' und anschliessedes 'exit').
Hat jemand nen Tipp fuer mich woran das liegen koennte?
EDIT:
Habe den Code einfach mal grade ohne den 'function' Block vor den Code geschoben und komme somit zu meinem gewuenschten Verhalten. Doch meine Frage bleibt ja quasi bestehen: Wieso funktioniert der Gleiche Code (in einen 'function' Block gepackt) nicht?
Bin eigentlich JAVA Entwickler und moechte deswegen am liebsten alles natuerlich ein bisl OO anordnen, soweit es geht natuerlich ;-)
EDIT2:
OK, bin selber drauf gekommen. Wenn ich der Funktion 'checkarg' mit dem Argument $1 aufrufe, funktionierts auch. Also scheinen $1, $2, ... wohl keine globalen Variablen zu sein ;-)
Danke im Vorraus!
gReetZ
Zuletzt bearbeitet: