Shellscript

Post Reply
Message
Author
blade
Posts: 49
Joined: 28. Feb 2000 15:54
Location: Wuppertal, Landau, Frankfurt, Darmstadt

Shellscript

#1 Post by blade »

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

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Shellscript

#2 Post by hjb »

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
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

User avatar
Eddie
Posts: 180
Joined: 22. Sep 1999 9:28
Location: Lennestadt

Re: Shellscript

#3 Post by Eddie »

Hi!

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

Post Reply