Gå til innhold

Få BASH-script til å hente inn options


Anbefalte innlegg

Skrevet

Jeg antar at alle variabler du setter når du starter scriptet havner i en array som PHPs GET og POST, men hva heter dette i BASH? Jeg sitter og leser ABS, men finner ikke ut av det.

Videoannonse
Annonse
Skrevet

Litt dårlig forklaring, ja. Jeg har et script som sjekker om en haug med servere er på nett. De spyr ut informasjon i klartekst skilt med linebreak, som dette:

server1 er oppe
server2 er oppe
server3 er nede!!
server4 er oppe

 

Men i tillegg henter jeg dette inn på en webside jeg har, og da legger jeg det i et pre-element. Men når jeg kjører det inn på websiden vil jeg ha ut html-elementer, og derfor vil jeg starte scriptet med script.sh --html.

 

Det er da den --html (evt. -html) jeg vil finne om er satt.

Skrevet

ca noe ala dette kanskje:

#!/bin/bash
if [ $# -eq 0 ]
   then
   echo "text output"
elif [ $1 = "-html" ]
   then
   echo "html output"
elif [ $1 = "-help" ]
   then
   echo "usage: ..."
else
   echo "rtfm"
   exit 1
fi
exit 0

Skrevet

Her er det, hvis noen var nysgjerrig... Ikke akkurat kernelhacking, men det funker jo. Forbedringer?

#!/bin/bash

host=( server1 server2 server3 server4 server5 server6 server7 )

if [ $# -eq 0 ]
then
 ListPrefix=("Sjekker maskiner")
 ListPostfix=("Ferdig sjekket")
 OppePrefix=(" ")
 NedePrefix=(" ")
 OppePostfix=(" er oppe")
 NedePostfix=(" er nede!!")

elif [ $1 = "--html" ]
then
 ListPrefix=("<ul class=''>")
 ListPostfix=("</ul>")
 OppePrefix=(" <li class='oppe'>")
 OppePostfix=(" er oppe</li>")
 NedePrefix=(" <li class='nede'>")
 NedePostfix=(" er nede</li>")

elif [ $1 = "--help" ]
then
 echo "Bruk --html for HTML-output"
 exit 0

else
 echo "bruk --help for hjelp"
 exit 1
fi


echo $ListPrefix
i=0
while [[ $i -le 6 ]]
do
 ping -c 1 ${host[$i]} > /dev/null 2>&1 && echo "$OppePrefix${host[$i]}$OppePostfix" || echo "$NedePrefix${host[$i]}$NedePostfix"
 sleep 1
 let "i +=1"
done
echo $ListPostfix
exit 0

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...