← Back to team overview

sslug-teknik team mailing list archive

Re: bash scripting

 

On Thu, Nov 13, 2003 at 10:42:06 +0100, René Mølsted wrote:
> Hejsa
> Jeg er igang med at komponere en lille bash script hvor der skal 
> installeres en del filer ud fra en given liste, listen er angivet i en 
> ekstern fil (liste.txt), mit spørgsmål er således:
> Vil RPM installere filerne linie for linie (rækkefølgen er meget 
> vigtig)?
> LISTE=liste.txt
> rpm -UVH $liste

her må du læse i rpm manualen, det er ikke specielt bash relateret.
(eller nogen der kender rpm kan måske svare?)

> Ydermere skal brugeren af scriptet vælge ud fra en liste:
> echo "Vælg et af nedenstående:
....

> Mit problem er således, hvis der ikke bliver valgt 1, 2, eller 3 skal 
> denne promt vises:
> "Vælg venligst mellem 1, 2, 3 (Q for quit)"
> hvor brugeren så skal foretage et valg.

Brug en "case" og en løkke med "while":

#!/bin/sh

echo 'Vælg et af nedenstående:
 (1) Valg1
 (2) Valg2
 (3) Valg3'

while [ $ok -eq 0 ]
do
 read SVAR
 case "$SVAR" in
  1) echo du har valgt 1  ; ok=1 ;;
  2) echo du har valgt 2  ; ok=2 ;;
  3) echo du har valgt 3  ; ok=3 ;;
  q|Q) echo du har afsluttet  ; ok=-1 ;;
  *) echo "Vælg venligst mellem 1, 2, 3 (Q for quit)";  ok=0;;
 esac
done



-- 
mvh Frank Damgaard  | 



References