Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 11-09-2007, 18:24
Praganonut
Avatar van Praganonut
Praganonut is offline
Gebruikt jullie shellscripts en zo ja voor wat?

Shellscripting is een soort van batchscripting maar dan voor Unix-achtige systemen zoals linux enzo.

Zelf ben ik er sporadisch mee bezig.. vooral op het gebied van systeembeheer is het zeer handig.
Met citaat reageren
Advertentie
Oud 11-09-2007, 23:26
ILUsion
Avatar van ILUsion
ILUsion is offline
Ik gebruik niet echt vaak bash-scriptjes (nou ja, af en toe om gewoon laucher te maken: wat environment variables juist zetten en een binary laten starten met bepaalde parameters). Ik ben wel van plan om bash-scripting te leren, inderdaad omdat het vreselijk makkelijk is voor beheertaken. Maar over het algemeen gebruik ik wel hier of daar een scriptje dat niet gebonden is aan de shell (zelf vooral Python):

ik gebruik bv. vaak een Perl-scriptje dat mijn Linux-mentor geschreven heeft om de logs van Apache samen te vatten (controleren welk IP-adres hoe veel bandbreedte opgeslokt heeft en zo meer). En zelf schrijf ik gewoon graag Python-scriptjes die ik dan importeer en vanuit command line gebruik: ik ben zo begonnen aan een simpel script dat pdftk gebruikt om makkelijk pdf'jes te bewerken (bv. concateneren van verschillende bestanden met een bepaalde naam, maar met de klassieke wildcards, gaf dat een verkeerde volgorde, met mijn script geef ik een algemene naam en hij zet dan alles op volgorde volgens nummer/letter/whatever). Waarschijnlijk kan het makkelijker, maar ik vond het best leuk om te schrijven.

Maar ik vrees dat er zelfs heel wat mensen niet weten wat batch-scriptjes zijn (en die gebruikte ik op Windows vroeger ook wel eens; ook zo de klassieke dingen: lauchertje maken om dan niet altijd parameters te hoeven meegeven).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 12-09-2007, 17:47
freyk
Avatar van freyk
freyk is offline
Ik schrijf nog vaak scriptjes voor problemen die ik zelf niet nog niet op kan lossen met externe applicaties.
Zo wist ik bijvoorbeeld nog niet hoe ik een PHP-script kon schrijven dat de nieuwste video van een van mijn favoriete youtube-gebruikers weer kon geven in mijn igoogle.
Dus schreef schreef ik een bashscriptje dat met een textbrowser en awk de nieuwste post van een gebruiker zocht, die gegevens daarvan om zette tot een xml bestand, dat weer werd upgeload naar een server.
(met de hulp van mensen van Got, werd mijn bashscriptje een php scriptje en resulteerde dit tot een igoogle-gadget.)
Of een baschscriptje dat belangrijke gegevens uit tig backuplogjes filterde en die weer met php in een mysql server opgeslagen werd.
Heb zelfs nog een webbased cdbrand applicatie geschreven door middel van php en een bashscript.
Een paar dagen geleden kreeg ik de opdracht om belgegevens van collega's, die in verschillende excelsheets te berekenen (per werknemer, per land, naar welk land , enz).
Omdat ik geen zin/tijd had om uit te zoeken hoe je in excell kan doen, schreef ik weer een bashscriptje dat met AWK gegevens berekend en het resultaat in een tekstbestandje zet. (lang leve cygwin)
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.

Laatst gewijzigd op 12-09-2007 om 17:54.
Met citaat reageren
Oud 13-09-2007, 17:13
Praganonut
Avatar van Praganonut
Praganonut is offline
Citaat:
Ik gebruik niet echt vaak bash-scriptjes (nou ja, af en toe om gewoon laucher te maken: wat environment variables juist zetten en een binary laten starten met bepaalde parameters). Ik ben wel van plan om bash-scripting te leren, inderdaad omdat het vreselijk makkelijk is voor beheertaken. Maar over het algemeen gebruik ik wel hier of daar een scriptje dat niet gebonden is aan de shell (zelf vooral Python):

ik gebruik bv. vaak een Perl-scriptje dat mijn Linux-mentor geschreven heeft om de logs van Apache samen te vatten (controleren welk IP-adres hoe veel bandbreedte opgeslokt heeft en zo meer). En zelf schrijf ik gewoon graag Python-scriptjes die ik dan importeer en vanuit command line gebruik: ik ben zo begonnen aan een simpel script dat pdftk gebruikt om makkelijk pdf'jes te bewerken (bv. concateneren van verschillende bestanden met een bepaalde naam, maar met de klassieke wildcards, gaf dat een verkeerde volgorde, met mijn script geef ik een algemene naam en hij zet dan alles op volgorde volgens nummer/letter/whatever). Waarschijnlijk kan het makkelijker, maar ik vond het best leuk om te schrijven.

Maar ik vrees dat er zelfs heel wat mensen niet weten wat batch-scriptjes zijn (en die gebruikte ik op Windows vroeger ook wel eens; ook zo de klassieke dingen: lauchertje maken om dan niet altijd parameters te hoeven meegeven).
Dat mensen niet eens meer weten wat batchscripts zijn is met de introductie van Windows XP weggevloeit. Maar aan de andere kant is Linux wel populairder geworden de laatste jaren. En aangezien heel veel dingen toch word vergemakkelijkt met shellscripting(en zelfs tot applicaties komt waar je in productie omgeving zeer goed van pas van komen) zou je wel verwachten dat het wat meer op zou komen. Aan de andere kant zie je wel dat met een aantal ontwikkelingen op bepaalde gebieden ziet wat shellscripting nutteloos maakt. Wat opzich wel goed teken is uiteraard..

Zelf ben ik bezig om een NFS configuratie/check tool te maken.
Opzich wel grappig dinggetje als het werkt
Met citaat reageren
Oud 13-09-2007, 17:15
Praganonut
Avatar van Praganonut
Praganonut is offline
Citaat:
Ik schrijf nog vaak scriptjes voor problemen die ik zelf niet nog niet op kan lossen met externe applicaties.
Zo wist ik bijvoorbeeld nog niet hoe ik een PHP-script kon schrijven dat de nieuwste video van een van mijn favoriete youtube-gebruikers weer kon geven in mijn igoogle.
Dus schreef schreef ik een bashscriptje dat met een textbrowser en awk de nieuwste post van een gebruiker zocht, die gegevens daarvan om zette tot een xml bestand, dat weer werd upgeload naar een server.
(met de hulp van mensen van Got, werd mijn bashscriptje een php scriptje en resulteerde dit tot een igoogle-gadget.)
Of een baschscriptje dat belangrijke gegevens uit tig backuplogjes filterde en die weer met php in een mysql server opgeslagen werd.
Heb zelfs nog een webbased cdbrand applicatie geschreven door middel van php en een bashscript.
Een paar dagen geleden kreeg ik de opdracht om belgegevens van collega's, die in verschillende excelsheets te berekenen (per werknemer, per land, naar welk land , enz).
Omdat ik geen zin/tijd had om uit te zoeken hoe je in excell kan doen, schreef ik weer een bashscriptje dat met AWK gegevens berekend en het resultaat in een tekstbestandje zet. (lang leve cygwin)
cool!
Met citaat reageren
Oud 13-09-2007, 21:51
freyk
Avatar van freyk
freyk is offline
Citaat:
Dat mensen niet eens meer weten wat batchscripts zijn is met de introductie van Windows XP weggevloeit.
Zolang beheerders ze maar niet vergeten.
Op iedere stage- en/of werkplek word er gebruikt gemaakt van batchscriptjes (danwel loginscripts), meestal zijn het kixtart-scriptjes.
En misschien gaan ze wel in de toekomst gebruik maken van powershell-scriptjes.
Zelf denk ik dat scriptjes zal blijven bestaan, maar dat ze later misschien in automator-style worden gemaakt.
__________________
"Typefouten zijn gratis" | "Daar is vast wel een knopje voor" | "Ik weet, want ik zoek" | Powered by Firefox, Chromium, Mac OS X, OpenSuse, and Google.
Met citaat reageren
Oud 13-09-2007, 22:26
ILUsion
Avatar van ILUsion
ILUsion is offline
Volgens mij zal het scripten in code-vorm steeds blijven bestaan; Apple heeft inderdaad wel leuke alternatieven daarvoor, maar ik vind dat type veremakkelijkingen niet bruikbaar genoeg voor het echte werk. Ik vergelijk het dan ook een beetje met bv. de query-mogelijkheden in Access (dat is een interface die de SQL voor je schrijft in feite, al kan je ook met SQL werken). Natuurlijk is het een geweldige manier om mensen beperkte scriptmogelijkheden te geven zonder dat ze een echte taal moeten leren (een beetje zoals Lego MindStorms indertijd al deed), en op dat vlak vind ik ook dat AppleScript (toch?) er best een simpele taal uitziet voor beginnende gebruikers.

Sowieso zijn computers niets veel zonder scriptjes (echte programma's schrijven kan natuurlijk ook altijd een oplossing zijn, maar daar komt meer overhead bij kijken waardoor je daar vaker tegenop ziet).

PowerShell vond ik van in het begin wel iets interessants, maar volgens mij waren ze beter bij een iets klassiekere aanpak gebleven. Ik vind dat PowerShell eerder iets Ruby/Python-achtigs heeft, in plaats van een echte shell (daarbij denk ik dan aan Bash/DOS), wat volgens mij de overstap van het ene naar het andere vermoeilijkt. Anyhow, ik gebruik toch amper Windows, op mijn vaste pc stond wel PowerShell, maar daar heb ik nooit veel mee gedaan, juist om die reden; dus ik gok dat ik in de toekomst ook niet veel moeite ga doen om PowerShell te leren, als ik iets zwaarders nodig zou hebben op Windows, probeer ik wel vanuit Python of desnoods via Cygwin (wat echt geweldig is, op mijn vaste pc heb ik die overigens grotendeels geïntegreerd met de DOS-prompt (alles van cygwin zit in mijn PATH, zodat ik vanuit de DOS-prompt aan de simpele tooltjes uit de GNU toolbox kan)).
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 15-09-2007, 13:15
Warsocket
Avatar van Warsocket
Warsocket is offline
Ik heb bash wel eens gebruikt om een gast account te maken bij bootup

/dev/ram0 moutnen op /home/gast

(de hoofddirectory van gast in het ram zodat het geen schijfruimte inneemt)
en daarna permissies te setten en 1 ascii file aan te maken zodat
gnome zonder zueren opstartte

Dat was dus omdat dit niet geheel kon met /etc/fstab



Dit is het script voor geinteresseerde

*bij deze verspreid onder GNU
(om het ff lekker linuxachtig te houden)

Code:
#!/bin/bash
# {start|stop|restart|reload|force-reload} are the possibilities


if [ "$1" = "" ]
then
	echo "S14rammount {start|stop|restart|reload|force-reload} are the possibilities, just like the normal scripts here."
	exit
fi


RM_TARGETDIR="/home/gast"
RM_SRCRAMDRIVE="/dev/ram0"


startF(){
	mke2fs $RM_SRCRAMDRIVE
	mount $RM_SRCRAMDRIVE $RM_TARGETDIR

	cd $RM_TARGETDIR/..
	chmod 755 $RM_TARGETDIR
	chown gast $RM_TARGETDIR
	chgrp gdm $RM_TARGETDIR

	cd $RM_TARGETDIR
	echo "[Desktop]" > .dmrc
	echo "Session=default" >> .dmrc
	chown gast .dmrc
	chmod 644 .dmrc
}

stopF(){
	umount $RM_TARGETDIR
}

if [ "$1" = "start" ]
then
	startF
fi

if [ "$1" = "stop" ]
then
	stopF
fi

if [ "$1" = "restart" ]
then
	stopF
	startF
fi

if [ "$1" = "reload" ]
then
	stopF
	startF
fi

if [ "$1" = "force-reload" ]
then
	stopF
	startF
fi

exit
__________________
01110100011001010111011001100101011001010110110000100000011101000
11010010110101001100100001000000011111100111111001000000011101001010000
Met citaat reageren
Oud 15-09-2007, 17:10
Praganonut
Avatar van Praganonut
Praganonut is offline
Citaat:
Ik heb bash wel eens gebruikt om een gast account te maken bij bootup

/dev/ram0 moutnen op /home/gast

(de hoofddirectory van gast in het ram zodat het geen schijfruimte inneemt)
en daarna permissies te setten en 1 ascii file aan te maken zodat
gnome zonder zueren opstartte

Dat was dus omdat dit niet geheel kon met /etc/fstab



Dit is het script voor geinteresseerde

*bij deze verspreid onder GNU
(om het ff lekker linuxachtig te houden)

Code:
#!/bin/bash
# {start|stop|restart|reload|force-reload} are the possibilities


if [ "$1" = "" ]
then
	echo "S14rammount {start|stop|restart|reload|force-reload} are the possibilities, just like the normal scripts here."
	exit
fi


RM_TARGETDIR="/home/gast"
RM_SRCRAMDRIVE="/dev/ram0"


startF(){
	mke2fs $RM_SRCRAMDRIVE
	mount $RM_SRCRAMDRIVE $RM_TARGETDIR

	cd $RM_TARGETDIR/..
	chmod 755 $RM_TARGETDIR
	chown gast $RM_TARGETDIR
	chgrp gdm $RM_TARGETDIR

	cd $RM_TARGETDIR
	echo "[Desktop]" > .dmrc
	echo "Session=default" >> .dmrc
	chown gast .dmrc
	chmod 644 .dmrc
}

stopF(){
	umount $RM_TARGETDIR
}

if [ "$1" = "start" ]
then
	startF
fi

if [ "$1" = "stop" ]
then
	stopF
fi

if [ "$1" = "restart" ]
then
	stopF
	startF
fi

if [ "$1" = "reload" ]
then
	stopF
	startF
fi

if [ "$1" = "force-reload" ]
then
	stopF
	startF
fi

exit
He, waarom nou niet onder BSD licence
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 04:24.