, , , ,

siehe auch: bash

Bash Shell / Bourne Shell

IF-Operator

Ein- und Ausgaben umleiten

Tastaturabkürzungen

Passworteingabe über die Shell

Text in einer Datei suchen

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

bash shell script:

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:

http://steve-parker.org/sh/bourne.html