F
fdai160X
Jungspund
Kann mir jemand erklären, für was man Funktionen in der Shell Programmierung brauch ?
Stellt dies eine Modularisierung wie in Ansi C dar ?
Ich verstehe den Sinn nicht so ganz.
Welcher Code könnte man im folgenden Quelltext als Funktion deklarieren ?
Stellt dies eine Modularisierung wie in Ansi C dar ?
Ich verstehe den Sinn nicht so ganz.
Welcher Code könnte man im folgenden Quelltext als Funktion deklarieren ?
#!/bin/sh
i=""
quelltext=""
MAX=""
echo "Geben Sie den Dateinamen ein: "
read quelltext
echo "Geben Sie die maximalen Compilerdurchgänge an: "
read MAX
if test -e "$quelltext"
then
echo "Datei vorhanden"
chmod 755 $quelltext
if (file $quelltext | grep "ASCII C" > /dev/null)
then
if (find \. -maxdepth 1 -type f -name "$quelltext" | grep "\.c\>" > /dev/null)
then echo "Dateiendung vorhanden"
i=1
while [ $i -le $MAX ]
do
if (gcc -o a.out "$quelltext" 2>> fehler)
then i=`expr $i \+ $MAX`
echo "Kompilierung erfolgreich"
echo "Starte Binärcode"
a.out
else
echo "Kompilierungsfehler: Starte VI"
vi $quelltext
i=`expr $i \+ 1`
fi
done
else echo "Dateiendung angehängt"
mv "$quelltext" "${quelltext}.c"
i=1
while [ $i -le $MAX ]
do
if (gcc -o a.out "${quelltext}.c" 2>> fehler)
then i=`expr $i \+ $MAX`
echo "Kompilierung erfolgreich"
echo "Starte Binärcode"
a.out
else
echo "Kompilierungsfehler: Starte VI"
vi "${quelltext}.c"
i=`expr $i \+ 1`
fi
done
fi
else echo "Es handelt sich um keine ANSI C Datei"
fi
else echo "Datei nicht vorhanden"
fi
i=""
quelltext=""
MAX=""
echo "Geben Sie den Dateinamen ein: "
read quelltext
echo "Geben Sie die maximalen Compilerdurchgänge an: "
read MAX
if test -e "$quelltext"
then
echo "Datei vorhanden"
chmod 755 $quelltext
if (file $quelltext | grep "ASCII C" > /dev/null)
then
if (find \. -maxdepth 1 -type f -name "$quelltext" | grep "\.c\>" > /dev/null)
then echo "Dateiendung vorhanden"
i=1
while [ $i -le $MAX ]
do
if (gcc -o a.out "$quelltext" 2>> fehler)
then i=`expr $i \+ $MAX`
echo "Kompilierung erfolgreich"
echo "Starte Binärcode"
a.out
else
echo "Kompilierungsfehler: Starte VI"
vi $quelltext
i=`expr $i \+ 1`
fi
done
else echo "Dateiendung angehängt"
mv "$quelltext" "${quelltext}.c"
i=1
while [ $i -le $MAX ]
do
if (gcc -o a.out "${quelltext}.c" 2>> fehler)
then i=`expr $i \+ $MAX`
echo "Kompilierung erfolgreich"
echo "Starte Binärcode"
a.out
else
echo "Kompilierungsfehler: Starte VI"
vi "${quelltext}.c"
i=`expr $i \+ 1`
fi
done
fi
else echo "Es handelt sich um keine ANSI C Datei"
fi
else echo "Datei nicht vorhanden"
fi