2011-01-01 14 views
1

Ich habe das folgende Skript:Wie Bash-Skript mit Case-Anweisung beenden?

#!/bin/sh 
#Script bc : Celsius <-> Fahrenheit 

echo "Temperature ?" 
read Temp 

echo "Celsius or Fahrenheit ?" 
echo "c) Celsius" 
echo "f) Fahrenheit" 
read case; 

Celsius=$(echo "scale=1;(($Temp-32)/9)*5;" | bc) 
Fahrenheit=$(echo "scale=1;(($Temp/5)*9)+32;" | bc) 

case $case in 

c) read Celsius | echo "Temp. F : "$Fahrenheit;; 
f) read Fahrenheit | echo "Temp. C : "$Celsius;; 

esac 

Mein Problem ist, dass, nachdem die Antwort (richtig) gegeben ist, ich bin nicht wieder auf die Aufforderung gebracht. Ich muss einen Wagenrücklauf machen, um das Skript zu beenden und zur Eingabeaufforderung zurückzukehren.

Was vermisse ich?

Vielen Dank im Voraus

thg

+0

Blick in die 'Schalter' Anweisung verwenden, so dass Sie don‘ Ich muss das Rad neu erfinden, wenn ich menü-artige Skripte erstelle. – SiegeX

+0

In Bash ist es 'Select' und nicht' Switch'. –

+0

'switch' zu' select'! – SiegeX

Antwort

4

Es ist die Aussagen in diesen letzten case "lesen", die Sie in tun.

case $case in 

c) echo "Temp. F : "$Fahrenheit;; 
f) echo "Temp. C : "$Celsius;; 

esac