Visa obesvarade inlägg | Visa aktiva trådar Aktuellt datum och tid: 23 maj 2018, 16:31



Svara på tråd  [ 8 inlägg ] 
 Ett script som loopar 
Författare Meddelande

Blev medlem: 09 jan 2007, 23:12
Inlägg: 522
Ort: Arboga
Svara med citat
Inlägg Ett script som loopar
Hej !

Försöker göra ett script med en liten meny, har gjort följande:

Kod:
#!/bin/bash


clear
echo "Var vill du skapa en anknytning?"
PS3='Var vänlig gör ett val -> '
options=("Stockholm" "Göteborg" "Malmö" "Västerås" "Eskilstuna" "Söderhamn" "Sundsvall" "Örebro" "Örnsköldsvik    " "Norrköping" "Allingsås" "Bollnäs       " "Borlänge" "Borås" "Falun" "Filipstad" "Helsingborg" "Jönköping     " "Karlstad" "Lidköping" "Linköping" "Mariestad" "Sala" "Skövde" "Växjö" "Avsluta")
select opt in "${options[@]}"
do
    case $opt in
        "Stockholm")
            echo "Listar lediga anknytningar i Stockholm"
         vacant_number --number-type EX --number-range 39000..39999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 36100..36199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 63100..63199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         ./new_mex2.sh
         
            ;;
        "Göteborg")
         echo "Listar lediga anknytningar i Göteborg"
         vacant_number --number-type EX --number-range 14700..14999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         
          "Avsluta")
            break
            ;;
        *) echo Felaktigt val;;
    esac
done


Hur gör jag för att menyn med val skall visas igen när skriptet är klart?
JAg får bara texten "Gör ett val att visas, inte menyn med de olika valen"


07 nov 2017, 12:11
Profil
Hedersmedlem
Användarvisningsbild

Blev medlem: 27 maj 2006, 12:24
Inlägg: 3777
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
Om du är väldigt förtjust i att använda en select är dina val troligen att antingen upprepa frågan mellan esac och done, wrappa allt från clear till sista done med en while:; [kod]; done och skriva en break mellan esac och done:

Kod:
clear
while : do
echo "Var vill du skapa en anknytning?"
PS3='Var vänlig gör ett val -> '
options=("Stockholm" "Göteborg" "Malmö" "Västerås" "Eskilstuna" "Söderhamn" "Sundsvall" "Örebro" "Örnsköldsvik    " "Norrköping" "Allingsås" "Bollnäs       " "Borlänge" "Borås" "Falun" "Filipstad" "Helsingborg" "Jönköping     " "Karlstad" "Lidköping" "Linköping" "Mariestad" "Sala" "Skövde" "Växjö" "Avsluta")
select opt in "${options[@]}"
do
    case $opt in
        "Stockholm")
            echo "Listar lediga anknytningar i Stockholm"
         vacant_number --number-type EX --number-range 39000..39999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 36100..36199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 63100..63199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         ./new_mex2.sh
         
            ;;
        "Göteborg")
         echo "Listar lediga anknytningar i Göteborg"
         vacant_number --number-type EX --number-range 14700..14999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         
          "Avsluta")
            break
            ;;
        *) echo Felaktigt val;;
    esac
break
done
done

_________________
More Mekaniserad at http://blippe.se.


19 dec 2017, 23:13
Profil WWW
Hedersmedlem
Användarvisningsbild

Blev medlem: 27 maj 2006, 12:24
Inlägg: 3777
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
Raden

while : do


ska vara

while : ; do

_________________
More Mekaniserad at http://blippe.se.


20 dec 2017, 21:50
Profil WWW
Användarvisningsbild

Blev medlem: 13 dec 2006, 10:23
Inlägg: 2298
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
Du kan använda dig av REPLY variablen istället och sen nollställa den efter din case/esac (dessutom hade du glömt ;; i göteborg )

Kod:
#!/bin/bash

clear
echo "Var vill du skapa en anknytning?"
PS3='Var vänlig gör ett val -> '
options=("Stockholm" "Göteborg" "Malmö" "Västerås" "Eskilstuna" "Söderhamn" "Sundsvall" "Örebro" "Örnsköldsvik" "Norrköping" "Allingsås" "Bollnäs       " "Borlänge" "Borås" "Falun" "Filipstad" "Helsingborg" "Jönköping     " "Karlstad" "Lidköping" "Linköping" "Mariestad" "Sala" "Skövde" "Växjö" "Avsluta")
select opt in "${options[@]}"
do
    case "${options[$REPLY-1]}" in
        "Stockholm")
            echo "Listar lediga anknytningar i Stockholm"
         vacant_number --number-type EX --number-range 39000..39999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 36100..36199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         echo ""
         vacant_number --number-type EX --number-range 63100..63199 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         ./new_mex2.sh
         
            ;;
        "Göteborg")
         echo "Listar lediga anknytningar i Göteborg"
         vacant_number --number-type EX --number-range 14700..14999 | head -n 40 | grep 'Number range:' | cut -f2- -d:
         ;;

    "Avsluta")
           break
           ;;
        *) echo Felaktigt val;;
    esac
    REPLY=
done

_________________
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU


21 dec 2017, 11:35
Profil WWW
Hedersmedlem
Användarvisningsbild

Blev medlem: 27 maj 2006, 12:24
Inlägg: 3777
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
Mekaniserad Apelsin skrev:
Raden

while : do


ska vara

while : ; do

Och "break" i avsluta ska vara "break 2". Med bara break är den en implicit etta efter, och man bryter bara en loop (i detta fallet select), men en explicit tvåa så bryter man sig ur både select och while-looparna.

_________________
More Mekaniserad at http://blippe.se.


21 dec 2017, 17:30
Profil WWW
Serveradmin
Användarvisningsbild

Blev medlem: 22 okt 2006, 09:13
Inlägg: 3566
Ort: Svedala
OS: Ubuntu
Utgåva: 17.04 Zesty Zapus
Svara med citat
Inlägg Re: Ett script som loopar
Off-topic så det skriker om det, men ändå: kul att se både Barre och Mekaniserad Apelsin titta in på forumet igen!


22 dec 2017, 09:24
Profil WWW
Användarvisningsbild

Blev medlem: 13 dec 2006, 10:23
Inlägg: 2298
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
Mekaniserad Apelsin skrev:
Mekaniserad Apelsin skrev:
Raden

while : do


ska vara

while : ; do

Och "break" i avsluta ska vara "break 2". Med bara break är den en implicit etta efter, och man bryter bara en loop (i detta fallet select), men en explicit tvåa så bryter man sig ur både select och while-looparna.


Behövs ju inte en while loop ju :P

_________________
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU


26 dec 2017, 08:50
Profil WWW
Användarvisningsbild

Blev medlem: 13 dec 2006, 10:23
Inlägg: 2298
Ort: Stockholm
OS: Ubuntu
Svara med citat
Inlägg Re: Ett script som loopar
johanre skrev:
Off-topic så det skriker om det, men ändå: kul att se både Barre och Mekaniserad Apelsin titta in på forumet igen!


Hahaha.. har aldrig lämnat, smyger i skuggorna :)

_________________
________________________________________________________________
twitter @ BarreGargamel
blogg @ Gargamel.NU


26 dec 2017, 08:51
Profil WWW
Visa inlägg nyare än:  Sortera efter  
Svara på tråd   [ 8 inlägg ] 

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
Main Engineer for phpBB3: Bertie at phpBB.com © 2000 - 2002, 2005 - 2007, the Group behind the Open Source code of phpBB.
Designed by STSoftware, modified by Katt, Konservburk & Peetra. Swedish translation by Peetra & phpBB Sweden © 2006-2011