Thema geschlossen
Ergebnis 1 bis 4 von 4

Thema: (Gelöst) bash Funktion lla (Übergabe von Parametern mit $@)

  1. #1
    Newbie
    Registriert seit
    04.06.2009
    Beiträge
    2

    Standard (Gelöst) bash Funktion lla (Übergabe von Parametern mit $@)

    Hallo allerseits,

    die von mir erstellte Bash-Funktion lla funktioniert nicht so wie erwartet, und ich finde keine Erklärung, warum es nicht so funktioniert, wie ich es soll.

    Hier die (sehr einfache) Funktion:
    function lla ()
    {
    ls -Fla
    }

    Sei SuseDir ein Verzeichnis, dann liefert der Aufruf
    lla SuseDir
    den Inhalt des aktuellen Verzeichnisses, d.h. der Vaterverzeichnisses von SuseDir. Das soll so natürlich nicht sein.

    Wenn ich einen alias definiere (alias lla="ls -Fla"), dann liefert der Aufruf
    lla SuseDir
    als Ausgabe das, was der Befehl "ls -Fla SuseDir" liefert, also das gewünschte Resultat.

    Bisher hatte ich mit Funktionen nie ein Problem. Was mache ich falsch?
    Was habe nicht verstanden?

    Als nicht so versierter Bashprogrammierer bin ich dankbar für jeden Hinweis.

    Viele Grüße,
    biberle

  2. #2
    Moderator Avatar von benne
    Registriert seit
    09.05.2006
    Beiträge
    365

    Standard AW: bash Funktion lla

    Hallo biberle,

    ich denke du musst der Funktion noch mitteilen, dass er das ls auch auf dem Verzeichnis ausführen soll, dass du als Argument mit gibst.
    Argumente werden mit "$Ziffer" gekennzeichnet. Bei mir tut folgendes:
    Code:
    function test {
            ls -Fla $1
    }
    test $1
    (In diesem Fall $1, weil er das erste Argument nehmen soll, $2 wäre dementsprechend das zweite Argument u.s.w)

    Schönen Gruß,
    benne
    Jabber:
    benne_@jabber.ccc.de

    Der pc-forum24.de Chat:
    #pc-forum24.de im QuakeNet!
    pc-forum24.de@conference.jabber.ccc.de

  3. #3
    Newbie
    Registriert seit
    04.06.2009
    Beiträge
    2

    Standard (Gelöst) bash Funktion lla

    Mein Dank gilt Benne.
    Nächste Woche habe ich Termin beim Schreiner. Der soll mir das Brett vor'm Kopf entfernen.

    Zur Verallgemeinerung habe ich die ursprüngliche Funktion entsprechend dem Tipp von Benne angepasst:
    Code:
    function lla ()
    {
    ls -Fla $@
    }
    Jetzt wollte diesen Post eigentlich schließen, finde aber auch auf den Hilfeseiten keinen Hinweis, wie ich das machen kann. Bin eben doch ein Newbie.

    Gruß,
    Biberle

  4. #4
    Administrator Avatar von Rain_Maker
    Registriert seit
    06.02.2006
    Beiträge
    5,459

    Standard AW: bash Funktion lla

    Den Hinweis kannst Du auch nicht finden, das ist bei den derzeitigen Einstellungen der Forensoftware ausschliesslich den Mods/Admins vorbehalten.

    => Licht aus.

    Greetz,

    RM
    "Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

    Dies ist ein _öffentliches_ Supportforum, keinerlei Support per PN, EMail oder Instant Messenger.

    openSUSE 11.4 - 3.3.X-desktop - fluxbox 1.3.2

    For Windows-Problems - Reboot / For Linux-Problems - BE ROOT!
    (==> Und hier das wirkliche "Geheimnis meines Erfolges")

Thema geschlossen

Aktive Benutzer

Aktive Benutzer

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

     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 03.02.2007, 11:50
  2. (Gelöst) Umgebungsvariable für alle User setzen tcsh (& bash)
    Von wengi im Forum SuSE System konfigurieren
    Antworten: 9
    Letzter Beitrag: 28.11.2006, 11:09
  3. Autostart tightvnc Mitgabe von Parametern (SuSE 10.1)
    Von da.dom im Forum SuSE System installieren
    Antworten: 7
    Letzter Beitrag: 26.10.2006, 16:58
  4. (Gelöst) Cannot execute /bin/bash: Permission denied
    Von DerGrosseBaer im Forum Server-Sicherheit
    Antworten: 9
    Letzter Beitrag: 11.06.2006, 09:33

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87