[Kubuntu-de] bash - shell functions

Monika Krug monika.uni at arcor.de
Mon Jul 14 13:58:42 BST 2008


----- Original Nachricht ----
Von:     Manfred Rebentisch <mrebentisch at comparat.de>
An:      kubuntu-de at lists.ubuntu.com
Datum:   14.07.2008 14:39
Betreff: [Kubuntu-de] bash - shell functions

> Hallo,
> normalerweise schreibt man eine bash-Funktion so:
> 
> function check_uid
> {
> if [ ! `id -u` == "0" ]; then
>     echo -e "\nDu solltest Root fuer diese Aufgaben sein! Breche ab...\n"
>     exit 1
> fi
> }
> 
> 
> oder so:
> 
> check_uid ( )
> {
> if [ ! `id -u` == "0" ]; then
>     echo -e "\nDu solltest Root fuer diese Aufgaben sein! Breche ab...\n"
>     exit 1
> fi
> }
> 
> 
> Das Wörtchen "function" ist optional, wenn man die Klammern () setzt. Nun
> kann 
> ich hier Scripte ausführen, in denen Shell-Funktionen mit "function" 
> geschrieben sind. Aber wenn die diese Datei mit den Funktionen includiert 
> wird ( " . /etc/functions.inc"), dann gilt das Wörtchen "function" als 
> Fehler.
> 
> Das habe ich bei anderen Distributionen noch nicht erlebt. Hat dafür jemand
> 
> eine Erklärung?
> 
> Grüße
> Manfred
> 
> -- 
> Kubuntu-de mailing list
> Kubuntu-de at lists.ubuntu.com
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/kubuntu-de
> 

Bei Ubuntu ab glaub 6.10 linkt /bin/sh auf /bin/dash statt auf /bin/bash wie bei den meisten anderen Distris. Könnte function bash-spezifisch sein? In dem Script steht wahrscheinlich oben #!/bin/sh, probier es mal durch #!/bin/bash zu ersetzen.

Viele Grüße,
Monika.