Wer kann diese Aufgabe richtig lösen, wäre toll, wenn das jemand kann... :-)
-
Hallo, fühlt sich jemand dieser Aufgabe gewachsen? Wer kann das lösen, brauche es!
Das folgende kleine Shell-Script nimmt 2 Argumente. Das erste ist ein Directory, das 2. ein Dateiname. Zweck des Scripts ist es, eine Kopie der Datei anzulegen, wobei mittels "touch" das Datum erhalten wird. Einige Fehlerfälle werden abgefangen, dazu dienen die "if"-Anweisungen. Das Kommando "basename" entfernt die Pfadangabe des Arguments, so dass nur der reine Dateiname übrig bleibt. $1 steht für den ersten Parameter des Shell-Scripts, $2 für den 2., $0 ist der Name der aufgerufenen Shell-Scripts selbst.
Aufgabe: Realisieren Sie die gleiche Funktionalität in einem C-Programm. Die automatische Auswertung prüft anhand mehrerer Testfälle die Funktion Ihres Programms 1e/exercise.c, verwenden Sie daher exakt die gleichen Texte für die Fehlermeldungen. Die Verwendung von system() ist nicht zulässig. Es genügt, wenn Ihr Programm nur kleine Dateien kopieren kann.
Hinweise: man 2 stat; man index; man strncat; man strncpy; man fread, man utime
if [ "$2" == "" ];then
echo usage: `basename "$0"` directory file
exit 1
fi
if [ ! -d "$1" ];then
echo dir "$1" does not exist or is unreadable
exit 2
fi
if [ ! -f "$1"/"$2" ];then
echo file "$1"/"$2" does not exist or is unreadable
exit 3
fi
cp "$1"/"$2" "$1"/"$2".bak
touch -r "$1"/"$2" "$1"/"$2".bak
echo made a copy to "$1"/"$2".bakWer diese Aufgabe löst, bekommt einen großes DANKESCHÖN!!!!!!!!!! Please HELP!