siehe auch: bash
Passworteingabe über die Shell
eMail per Shellscript verschicken
String nach bestimmten Zeichen splitten/cutten /wie explode in PHP)
Complex Functions and Function Complexities
A quick guide to writing scripts using the bash shell: http://pegasus.rutgers.edu/~elflord/unix/bash-tute.html
Command Substitution: http://www.injunea.demon.co.uk/pages/page206.htm
The Linux Terminal - a Beginners' Bash: http://linux.org.mt/article/terminal
Bash Shell Programming in Linux: http://www.arachnoid.com/linux/shell_programming.html
wichtig, dass am Anfang:
#!/bin/bash
Das ist wichtig, weil der User, sollte er eine andere Shell als Bash gewält haben, eine andere Syntax vorherrschen kann. Variablen:
x="hallo" # wichtig: KEINE Leerzeichen bei dem '='
$1, $2 etc. 1., 2., etc Parameter beim Aufruf Um Variablen zu unterscheiden (z.B. /hallo/wer$binich/denn ist falsch, weil Interpreter nicht weiss, wo Variable endet). Richtig: /hallo/wer${bin}ich/denn
Quoting: bei echo '$x' kommt raus: $x
bei echo „$x“ kommt raus: hallo
„ interpretiert Variablen, ' tut das nicht! (sondern 'wörtlich')
parameter /variables substitution: http://www.unet.univie.ac.at/aix/aixuser/usrosdev/parameter_subst.htm#AC8A8CF676shar
nette einfhrung: http://www.tu-berlin.de/zrz/information/paper/instant/sh/sh-03.html
Werte eines Files in Veriablen einlesen Achtung: Dieses Skript liest wortweise ein (Leerzeichen getrennt) und ignoriert Leerzeichen/Leerzeilen
#!/bin/sh ISOPATH=/data1/iso DESTINATION=/mnt/iso ls ${ISOPATH} > /tmp/isomount.tmp index=1 ISO="" for x in `cat /tmp/isomount.tmp` do ISO[index]="$x" index=`expr $index +1` done for y in `echo ${ISO[@]}` do mkdir -p ${DESTINATION}/y mount -o loop -t iso9660 ${ISOPATH}/y ${DESTINATION}/y done exit 0
Datei zeile für zeile lesen:
script <datei while [ true ] do read X #read a line if [ $? -ne 0 ] #Break if EOF then break fi echo $X #Your action goes here. done < tmp.txt
gut: