Ergebnis 1 bis 7 von 7

Thema: Variable pruefe

  1. #1
    Registered User
    Registriert seit
    Apr 2013
    Beiträge
    2
    Renommee
    10

    Variable pruefe

    Ich hoffe die Kategorie stimmt, es geht um eine Shellprogrammierung

    Ich beschäftige mich gerade mit Shellprogrammierung, aber irgendwie funktioniert das Kommando pruefe nicht. Ich hab den Shellcode schon mehrfach auf Fehler überprüft aber keine gefunden. Könnt ihr mir weiter helfen?

    Hier der Shellcode
    Spoiler:

    Code:
    #! /bin/bash
    # Shell-Prozedur, um Directories zu überprüfen
    # A. Feststellen, wie das »Ausgangs-Directory« heißt und der Variablen
    # »ausg« zuordnen
    
    ausg=$( pwd )
    
    # B. Der Variablen »Antw« vorab den Wert »ja« zuweisen, 
    # damit das 1. Directory abgefragt wird
    Antw="ja"
    # Beginn der while Schleife
    
    while test "$Antw" = "ja"
    
    # 1. Frage
    	do echo "Welches Directroy soll überprueft werden?"
    		echo "Bitte mit Pfadnamen angeben"
    # 2. Lesen der Antwort (Name des Directories)
    	read dir
    # 3. Überprüfen, ob es ein Cirectroy ist, wenn nicht
    # (Abfrage auf Vorhandensein des Directories mit until Schleife)
    
    until test -d "$dir"
    # 4. so lange darauf hinweisen und nach dem richtigen
    # Namen fragen bis es sich wirklich um ein Directory handelt.
    	do echo "$dir ist kein Directroy."
    	echo "Welches Directory soll ueberprueft werden?"
    	echo "Bitte mit Pfadnamen angeben"
    	read dir
    	done
    
    # 5. Handelt es sich um ein Directory, dann in dieses Directroy wechseln
    # und das Kommando »pruefe« aufrufen
    	cd $dir
    	echo "Das Directory $dir wird ueberprueft"
    	
    	pruefe
    
    # 6. Nachdem das Kommando »pruefe« beendet ist, soll
    # in das Ausgangs-Directrory (Varibable »ausg«) zurückwelchselt werden
    	cd $ausg
    # 7. Fragen, ob ein weiteres Directory überprüft werden soll
    # wenn ja, die SChleife ab 1. wieder beginnen (Variable »Antw«)
    	echo "Soll ein weiteres Directory ueberprueft werden?"
    	read Antw
    	done


    Wenn ich das PRogramm starte mit sh dirp kommt folgende Fehlermeldung:

    d@d-desktop:~$ cd Dokumente
    d@d-desktop:~/Dokumente$ sh dirp
    Welches Directroy soll überprueft werden?
    Bitte mit Pfadnamen angeben
    maunz
    Das Directory maunz wird ueberprueft
    dirp: 37: dirp: pruefe: not found
    Soll ein weiteres Directory ueberprueft werden?

  2. #2
    Registered User
    Registriert seit
    Jul 2003
    Beiträge
    249
    Renommee
    520

    Re: Variable pruefe

    Eigentlich steht es schon da:
    Zitat Zitat von Upperchen Beitrag anzeigen
    dirp: 37: dirp: pruefe: not found
    Das Kommando "pruefe" gibt es nicht
    Geändert von dirdi (05.02.2014 um 20:10 Uhr)
    thx 4 reading

  3. #3
    Registered User
    Registriert seit
    Apr 2013
    Beiträge
    2
    Renommee
    10

    AW: Variable pruefe

    Also ich ahb den Script aus dem Buch Keine Angst vor Linux/Unix, ich hab. Ich hab schon bei anderen Scripten teils Probleme gehabt.

    Ich hab so das Gefühl das die Autorin absichtlich Fehler einbaut um zu testen ob man es kappiert hat.

  4. #4
    Registered User
    Registriert seit
    Jul 2003
    Beiträge
    249
    Renommee
    520

    Re: Variable pruefe

    Da ich das Buch nicht kenne, kann ich dazu nichts sagen. Aber wenn Du wissen willst, ob ein Kommando existiert, oder nicht, kannst Du das mit whereis prüfen:
    Code:
    $ whereis cat
    cat: /bin/cat /usr/share/man/man1/cat.1.gz
    Das Kommando "cat" existiert also, im gegensatz zu "pruefe":
    Code:
    $ whereis pruefe
    pruefe:
    thx 4 reading

  5. #5
    Member
    Registriert seit
    May 2004
    Beiträge
    1.432
    Renommee
    1142

    AW: Variable pruefe

    whereis zeigt nur Programme. Wenn man damit nichts findet, heißt das nicht, dass es z. B. pruefe nicht gibt. Es könnte eine builtin sein, eine Funktion oder was auch immer.

  6. #6
    Moderator
    Registriert seit
    May 2002
    Beiträge
    653
    Renommee
    1014

    AW: Variable pruefe

    Imho ist hier which nützlicher:
    Code:
    which goto where top topo
    goto: shell built-in command.
    where: shell built-in command.
    /usr/bin/top
    topo: Command not found.
    Zum Thema:
    Bin zwar nicht gerade der SH-Experte - aber müsste es nicht eher sowas sein:
    Code:
    sh pruefe
    oder
    ./pruefe
    oder gleich
    sh ${dir}/pruefe
    bzw.
    ${dir}/pruefe
    Edit:
    gilt natürlich nur, falls das Script in diesem Verzeichniss ist.
    Ansonsten, je nach Kontext, soll "prüfe" vielleicht nur ein Platzhalter sein und durch etwas eigenes ersetzt werden?
    Edit2: joa, zu langsam beim editieren :|
    Geändert von CDW (06.02.2014 um 16:55 Uhr)
    Selig, wer nichts zu sagen hat und trotzdem schweigt!

  7. #7
    Registered User
    Registriert seit
    Jun 2000
    Beiträge
    3.883
    Renommee
    719

    AW: Variable pruefe

    Da du neu bist in Bash würde ich dir empfehlen es dir gleich anzugewöhnen die Variablen in {} zu schreiben (auch wenn man im Internet es meist ohne findet), z.B. ${dir}

    "pruefe" im Script ist nur ein Platzhalter für "was auch immer du in den Verzeichnis überprüfen wolltest"

    das könnte z.B. sowas sein (einfach im Code vor der while Schleife einfügen):

    Code:
    pruefe() {
        stat .
        file -- *
    }
    Oder das "pruefe" im Script durch irgendein anderes Befehl ersetzen.
    Geändert von DopeFish (06.02.2014 um 16:55 Uhr) Grund: ergaenzt
    das kann man bestimmt auch in bash coden ...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. variable aus string und variable erstellen
    Von morlix im Forum UNIX/Linux
    Antworten: 1
    Letzter Beitrag: 04.03.2009, 22:57
  2. Variable in document.VARIABLE geht nich!
    Von Ragnarok im Forum Web Development
    Antworten: 5
    Letzter Beitrag: 23.05.2003, 12:18
  3. [JavaScript] Variable in url
    Von Aircrash im Forum Web Development
    Antworten: 5
    Letzter Beitrag: 08.01.2003, 17:16
  4. [Win|PHP]Undefined Variable ...
    Von skyk im Forum Windows
    Antworten: 1
    Letzter Beitrag: 05.09.2002, 19:33
  5. Variable :-(
    Von ascii im Forum PHP, Perl und ASP
    Antworten: 12
    Letzter Beitrag: 01.04.2001, 20:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •