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".bak

    Wer diese Aufgabe löst, bekommt einen großes DANKESCHÖN!!!!!!!!!! Please HELP!


Anmelden zum Antworten