Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Shell script  (gelezen 446 keer)

Offline Luuk073

  • Lid
  • Steunpunt: Nee
Shell script
« Gepost op: 2014/02/13, 15:44:32 »
Hallo allemaal,

Ik ben op dit moment bezig met een shell script schrijven.
Bij dit script wil ik zorgen dat er informatie van het internet wordt gehaald en dat dit word verwerkt in het script.
Hier is mijn script tot nu toe:
#!/bin/bash

# Tribalwars data

###########################################################
##                    ZOEK INFORMATIE                    ##
##              Ctrl + f voor zoekfunctie                ##
##      "####" zoeken voor functies in ontwikkeling      ##
##              "#" zoeken voor opmerkingen              ##
##             "#####" geeft "hoofdstuk" aan             ##
##               "##!" geeft tussenkop aan               ##
## "##########" (10x) geeft aan waar developping eindigt ##
###########################################################

exec &> Tribalwars.html

##### CONSTANTEN #####

TITLE="<H1>Tribalwars gegevens!</H1>"
Tribalplayer=$USER
RIGHT_NOW=$(date +"%x %r %Z")
TIME_STAMP="Laatste update op $RIGHT_NOW door $Tribalplayer"

##! Constanten voor MMPunten
puntenspeler="10000" #### Deze moet kunnen worden veranderd met internet, op 10000 ingesteld om script te laten werken


##! Constanten voor Stampunten
stamleden="1"
stampunten="100"
# sl = stamlid
sl1="één"
sl2="twee"
sl3="drie"
sl4="vier"
sl5="vijf"
sl6="zes"
sl7="zeven"
sl8="acht"
sl9="negen"
sl10="tien"
sl11="elf"
sl12="twaalf"
sl13="dertien"
sl14="veertien"
sl15="vijftien"
sl16="zestien"
sl17="zeventien"
sl18="achttien"
sl19="negentien"
sl20="twintig"
sl21="éénentwintig"
sl22="tweeëntwintig"
sl23="drieëntwintig"
sl24="vierentwintig"
sl25="vijfentwintig"
sl26="zesentwintig"
sl27="zevenentwintig"
sl28="achtentwintig"
sl29="negenentwintig"
sl30="dertig"
sl31="éénendertig"
sl32="tweeëndertig"
sl33="drieëndertig"
sl34="vierendertig"
sl35="vijfendertig"
sl36="zesendertig"
sl37="zevenendertig"
sl38="achtendertig"
sl39="negenendertig"
sl40="veertig"
psl1="1"
psl2="2"
psl3="3"
psl4="4"
psl5="5"
psl6="6"
psl7="7"
psl8="8"
psl9="9"
psl10="10"
psl11="11"
psl12="12"
psl13="13"
psl14="14"
psl15="15"
psl16="16"
psl17="17"
psl18="18"
psl19="19"
psl20="20"
psl21="21"
psl22="22"
psl23="23"
psl24="24"
psl25="25"
psl26="26"
psl27="27"
psl28="28"
psl29="29"
psl30="30"
psl31="31"
psl32="32"
psl33="33"
psl34="34"
psl35="35"
psl36="36"
psl37="37"
psl38="38"
psl39="39"
psl40="40"
##! Constanten voor Stamrang

##! Constanten voor Spelersrangen

#####  FUNCTIES  #####

# Geeft het aantal punten aan dat minimaal en maximaal kan worden aangevallen

function minpuntenspeler
{
 echo $((puntenspeler/10*8))
}


function maxpuntenspeler
{
 echo $((puntenspeler/10*12))
}

function MMPunten
{
 echo "<H2>Minimale en maximale verhouding bij aanvallen</H2>"
 echo "<p>Minimaal aan te vallen: $(minpuntenspeler)</p>"
 echo "<p>Maximaal aan te vallen: $(maxpuntenspeler)</p>"
 echo "<p>Nog verder uit te werken!</p>"
} #### Dit is nog in ontwikkeling zie CONSTANTEN > puntenspeler

# Geeft het aantal punten aan wat spelers in een ingegeven stam hebben gehaalt in 1 week, geeft het gemiddelde en geeft het totaal van de hele stam
##########
function fsl1
{
 echo "<H1>sl1 completed</H1>"
}

#function fsl2
#{
# echo "<H1>sl2 completed</H1>"
#}

function Stampunten
{
case $stamleden in
 1 )
     echo "<p>INVULLING</p>";;

 * ) echo "<H1>Failed</H1>"

esac
} #### Dit is nog in ontwikkeling

#Geeft de rang van de stam weer
function Stamrang
{
 echo "<H2>Stamrang</H2>"
 echo "<p>Werkt nog niet<p>"
} #### Dit is nog in ontwikkeling

#Geeft de rang per speler weer
function Spelersrangen
{
 echo "<H2>Spelersrangen</H2>"
 echo "<p>Werkt nog niet<p>"
} #### Dit is nog in ontwikkeling


##### HTML FORMAAT #####
cat <<- _EOF_
  <html>
  <head>
      <title>$TITLE</title>
  </head>

  <body>
      <h1>$TITLE</h1>
      $(MMPunten)
      $(Stampunten)
      $(Stamrang)
      $(Spelersrangen)
      <p>$TIME_STAMP</p>
     
  </body>
  </html>
_EOF_

Nu wil ik dus van http://nl.twstats.com/nlp1/index.php informatie afhalen.
Hoe zou ik dit kunnen doen in dit shell script?
Overigens weet ik wel dat er nog wat meer foutjes in het script staan, maar dit is mijn eerste script dat ik schrijf dus schoonheidsfoutjes zullen niet lastig te vinden zijn lijkt me!

Groeten,
Luuk

Offline MauRice2

  • Lid
  • Steunpunt: Nee
Re: Shell script
« Reactie #1 Gepost op: 2014/02/13, 20:43:16 »
Luuk,

Met wget kan je die pagina binnen halen.
Voor meer info over wget: man wget

/usr/bin/wget -np -c nl.twstats.com/nlp1/index.php --output-document /tmp/index.html."$$" 2>/dev/null
Kijk eerst of het bestand /tmp/index.html.<nummer> voor je bruikbaar is om de gegevens eruit te halen.

Zo ja dan wordt het iets in de geest:
#!/bin/bash

 /usr/bin/wget -np -c nl.twstats.com/nlp1/index.php --output-document /tmp/index.html."$$" 2>/dev/null
 export PRPID="$$"

<Je script hier>
 
 /bin/rm -f /tmp/index.html."$PRPID"
MvG,
MauRice
Registered Linux user: 473556

Offline Luuk073

  • Lid
  • Steunpunt: Nee
Re: Shell script
« Reactie #2 Gepost op: 2014/02/14, 11:32:13 »
Oke ik denk dat ik dat wel snap. Maar sinds ik helemaal nieuw ben in shell scripts, hoe kan ik dan informatie uit dat bestand halen en bijvoorbeeld in een zogenaamde "string" stoppen.

Offline MauRice2

  • Lid
  • Steunpunt: Nee
Re: Shell script
« Reactie #3 Gepost op: 2014/02/14, 19:55:23 »
Luuk,

Kijk eens of oa deze sit je kan helpen: http://www.tldp.org/LDP/abs/html/

Om een idee te geven, ik gebruik http://www.watismijnip.be om de het ip-adres voor de router te hebben.
Dit en nog wat stop ik een verborgen bestand .bash_logon (vooral het gedeelte voor 'if ping -c 1 .... ')
Als ik mijn terminal open ziet de gegevens die ik wilde.

Het .bash_logon bestandje: http://users.telenet.be/x86_64/Scripts/bash_logon
En onderaan in het verborgen bestand .bashrc staat deze regel:
. ~/.bash_logon

PS
Het is gebaseerd op archey, maar dan in bash ipv python.
MvG,
MauRice
Registered Linux user: 473556