Hi ich bin blutiger Anfänger im erstellen von Shellscripten, und nachdem durchforsten von ich weiß nicht wieviel Beispielen und lesen von man´s habe ich immer noch keine Antwort auf die Frage: "Wie veranlasse ich eine IF-Schleife dazu den Wert einer Variable zu berücksichtigen?"
#! /bin/sh
echo ""
echo "Wähle bitte aus:"
echo " 1 --> XYZ"
echo " 2 --> ZYX"
read a
echo $a
if $a -eq 1 <-----?????? <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
then
bla
else
blabla
Danke für alle Hilfe
bis denn
Matthias
Shellscript
Re: Shellscript
Hi,
am Ende fehlt noch ein 'fi'. Beim 'if' hast du 2 Alternativen:
if [ $a -eq 1 ]
oder
if test $a -eq 1
Außerdem ist es stark zu empfehlen, alle Shell-Variablen mit wenigen Ausnahmen in Anführungszeichen zu setzen. Ohne die Anführungszeichen kann es zu Syntaxfehlern kommen, wenn die Variable etwas anderes enthält als ein zusammenhängendes Wort. Es gab sogar schon Sicherheitslücken durch diese Unterlassung.
In diesem Punkt ist Perl viel besser, dort braucht man die Anführungszeichen nicht.
Gruß,
hjb
am Ende fehlt noch ein 'fi'. Beim 'if' hast du 2 Alternativen:
if [ $a -eq 1 ]
oder
if test $a -eq 1
Außerdem ist es stark zu empfehlen, alle Shell-Variablen mit wenigen Ausnahmen in Anführungszeichen zu setzen. Ohne die Anführungszeichen kann es zu Syntaxfehlern kommen, wenn die Variable etwas anderes enthält als ein zusammenhängendes Wort. Es gab sogar schon Sicherheitslücken durch diese Unterlassung.
In diesem Punkt ist Perl viel besser, dort braucht man die Anführungszeichen nicht.
Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
Re: Shellscript
Hi!
hjb hat recht, allerdings machst du so etwas besser mit der "case"-Anweisung, das lässt sich leichter pflegen...
hjb hat recht, allerdings machst du so etwas besser mit der "case"-Anweisung, das lässt sich leichter pflegen...
Last edited by Eddie on 17. Sep 2000 18:24, edited 1 time in total.
Gruß
Eddie
Eddie