Anzeige:
Ergebnis 1 bis 3 von 3

Thema: awk Anfänger Problem: ausführbare Skripte

  1. #1
    Registrierter Benutzer
    Registriert seit
    21.09.2003
    Ort
    nähe Münster
    Beiträge
    76

    awk Anfänger Problem: ausführbare Skripte

    Hallo Leute,

    versuche gerade ein bisschen awk zu verstehen und lese mir dazu ein Buch durch.

    Einfache awk Beispielskripte ausführen klappt. Nur wenn Shell Scripte awk aufrufen passiert gar nichts.

    Also, alle Scripte sind Übungscripte zum Buch und als Datei auf dem Rechner geladen, s.h. keine Tippfehler. Die Scripte sind als chmod +x ausführbar gemacht worden, habe ich jetzt mal für die Shell und für die awk Scripte gleich mitgemacht, in der Shell bin ich als root unterwegs.

    Wenn ich jetzt:
    Code:
    beleg $HOME
    eintippe, sollte laut Buch eine Zeile mit meiner Festplattenbelegung kommen. Bei diesem und anderen Beispielen passiert aber gar nichts.

    Der Vollständigkeit halber, hier noch das Script.

    Code:
    if [ $# -eq 0 ]	
    then	
       dir=`pwd`	
    else	
       dir="$*"	
    fi	
    	
    du -s $dir | awk '
                BEGIN { blockgroesse=1024.0 } # evtl. aendern
                { 	
                  printf("%30s : ", $2)	
                  total += $1	
                  blockzahl=$1	
                  byte_zahl=blockzahl*blockgroesse
                  printf("%10.1f KByte\n", byte_zahl/1024.0)	
                }	
            END { printf("--------------------------------------------------\n")	
                  printf("%30s : ", "Gesamt")	
                  byte_zahl=total*blockgroesse
                  printf("%10.1f KByte\n", byte_zahl/1024.0)	
                }'
    Schon mal Danke für die Hilfe im voraus.

    Gruß,

    Gutschy
    hold on.

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Also bei mir funktioniert das script. Allerdings fehlt der shebang (k.A. wie er bei mir darauf kommt mit was er das ausführen soll). Also am besten am Anfang noch eine Zeile mit

    #!/bin/bash

    einfügen oder so (oder #!/bin/sh). Ansonsten: funktionieren bei dir Shell-Scripts ganz allgemein? z.B. schon mal der Teil ohne awk:
    Code:
    #!/bin/bash
    
    if [ $# -eq 0 ]	
    then	
       dir=`pwd`	
    else	
       dir="$*"	
    fi	
    	
    du -s $dir
    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.09.2003
    Ort
    nähe Münster
    Beiträge
    76
    Hi peschmae,

    vielen Dank für deinen Hinweis, ich bin dadurch drauf gekommen was ich falsch gemacht habe.

    ./script

    So ruft man ein Script auf, dann klappts auch mit dem Nachbarn.

    Und ja, ich hätte auf dein Posting gerne viel eher reagiert, aber Erkältungs bedingte Kopfschmerzen haben mich jeglicher Motivation beraubt.

    Gruß,

    Gutschy
    hold on.

Lesezeichen

Berechtigungen

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