Anzeige:
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 15 von 47

Thema: schlauere Bash

  1. #1
    Premium Mitglied Avatar von SeeksTheMoon
    Registriert seit
    Feb 2002
    Beiträge
    1.704

    schlauere Bash

    HIer gibt es etwas interessantes, mit dem man die bash aufmotzen kann:
    http://www.caliban.org/bash/index.shtml

    Das Teil heißt bash-completion und hilft uns TAB-Tasten-Junkies.
    z.B. werden manpages ja normalerweise nicht per TAB angezeigt, man muss raten, wie der Befehl/die Funktion heißt, die man sucht.
    Jetzt beginnt man den Befehl zu schreiben, drückt nur noch TAB und sieht allle möglichen manpages:

    z.B. will ich ein C-Programm schreiben und dort String-Funktionen einbauen, hab aber vergessen, wie die Funktion genau heißt, weiß aber, dass sie mit "str" anfängt.
    Also:
    ~>man str TAB TAB
    strace strcspn strict strncpy strsignal strtold
    strange strdup string strndup strspn strtoll
    strcasecmp strdupa strings strndupa strstr strtoq
    strcat strerror strip strnlen strtod strtoul
    strchr strerror_r strlen strpbrk strtof strtoull
    strcmp strfmon strncasecmp strptime strtok strtouq
    strcoll strfry strncat strrchr strtok_r strverscmp
    strcpy strftime strncmp strsep strtol strxfrm

    Aha! strcpy hab ich gesucht...

    Dann noch was, das für Java-Lover ganz nett ist: Wenn man eine Java-Klasse ausführen will und java TAB drückt, wird das .class (oder .java) am Ende automatisch weggelassen.

    Wer sich mit ssh irgendwo einloggt, bekommt mit TAB eine Vervollständigung aller Hostnamen aus der known_hosts Datei. Dies klappt auch mit NFS, p4, cvs, ...

    Schaut es euch an, das Ding ist Hammer!

    Installhilfe:

    Die im tarball enthaltene Datei bash_completion nach /etc kopieren und im .bashrc File folgende Eintraege hinzufuegen:
    # START bash completion -- do not remove this line
    bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
    if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ]
    &&[ -f /etc/bash_completion ]; then # interactive shell
    # Source completion code
    . /etc/bash_completion
    fi
    unset bash bmajor bminor
    # END bash completion -- do not remove this line
    Geändert von SeeksTheMoon (28.01.03 um 23:15 Uhr)
    09F911029D74E35BD84156C5635688C0

  2. #2
    Registrierter Benutzer
    Registriert seit
    Aug 2002
    Beiträge
    22

    Thumbs up

    Seit ich Knoppix 3.1 auf meiner kiste fahre, ist das bei mir von Haus aus da.

    es ist echt nützlich. besonders in verbindung mit _man_
    Geändert von Xonic (30.01.03 um 00:18 Uhr)

  3. #3
    Administrator Avatar von Flightbase
    Registriert seit
    Apr 2002
    Ort
    Uelzen
    Beiträge
    2.559
    *unterschreib*
    möchte ich nicht missen.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Aug 2001
    Beiträge
    350
    Bei der aktuellen Suse werden die man-pages auch vervollständigt.
    Den Java-hack könnt ich allerdings gut gebrauchen...

    MfG Xare

  5. #5
    Registrierter Benutzer
    Registriert seit
    Sep 2002
    Ort
    Berlin
    Beiträge
    707
    ... bei SuSE 8.0 auch
    gruß
    prostetnik

  6. #6
    Registrierter Benutzer
    Registriert seit
    Mar 2002
    Ort
    Augsburg
    Beiträge
    919
    das ist ja dick.... ich hab schon mla sowas gesehen, also ne shell, die von fsat jedem boardtool die optionen kanntte... ganz dick sowas

    joey
    rock and roll is for rebels, it is not family entertainment
    **** the charts

  7. #7
    Registrierter Benutzer
    Registriert seit
    Aug 2002
    Beiträge
    22
    ist das eigentlich normal, dass wenn ich "apt-get i" gefolgt von TAB eingebe, es zu "apt-get install" autovervollständigt wird?

  8. #8
    Premium Mitglied Avatar von SeeksTheMoon
    Registriert seit
    Feb 2002
    Beiträge
    1.704
    Ja, das Prog kennt die Parameter der wichtigsten Befehle und vervollständigt diese
    09F911029D74E35BD84156C5635688C0

  9. #9
    yet another gentoo user Avatar von leifg
    Registriert seit
    May 2001
    Ort
    remchingen
    Beiträge
    255
    also bash_completion is eht geil. weiss gar nicht wie ich vorher ohne ausgekommen bin

    nur: "man <tab> <tab>" dauert etwas lange ( Display all 7550 possibilities? (y or n) )

    ansonsten super

    sogar apt-get install x <tab> <tab> klappt

    mfg

    leifg
    Komparativ steht mit "als".

  10. #10
    Registrierter Benutzer
    Registriert seit
    Oct 2002
    Beiträge
    36
    Original geschrieben von leifg

    nur: "man <tab> <tab>" dauert etwas lange ( Display all 7550 possibilities? (y or n) )

    da is aber jemand nicht geizig beim installieren gewesen

  11. #11
    Premium Mitglied Avatar von dragon's might
    Registriert seit
    Apr 2002
    Beiträge
    1.967
    Original geschrieben von leifg

    sogar apt-get install x <tab> <tab> klappt
    wow! das hat mir noch gefehlt!
    צה"ל

  12. #12
    Registrierter Benutzer Avatar von Discipulus
    Registriert seit
    Sep 2002
    Beiträge
    429
    hm ... doofe Frage: Wie installiere ich diese unter Debian? Das RPM kann ich nicht installieren, und wenn ich ein deb-Paket daraus erstelle (mit alien) kommt:
    Code:
    bash kollidiert mit bash-completion
    Google is your friend

  13. #13
    Registrierter Benutzer
    Registriert seit
    Dec 2001
    Ort
    $home
    Beiträge
    13
    Hi,

    ich bekomme das irgendwie nicht hin. Ich habe die Datei 'bash_completion' unter /etc/ mit den Zugriffsrechten 777 abgelegt (777 deshalb, damit mir jetzt bloss ja nix wegen den Rechten dazwischen funkt ). Danach noch die paar Zeilen zum Starten in die /etc/.bashrc gepastet aber es will nicht laufen... habe mich schon mehrere Male ausgeloggt und wieder eingeloggt. Ich habe die Datei 'bash_completion' auch manuell ausgefuehrt... nix!
    OS: Slackware 9.1
    Kernel: 2.6.2
    XServer: XFree 4.3.0
    WM: XFCE 4.0.3.1
    GFX-Driver: NVidia 44.96
    AMD Athlon Barton 2500+ / 512MB DDR / GeForce FX 5600 Ultra 128MB DDR

  14. #14
    yet another gentoo user Avatar von leifg
    Registriert seit
    May 2001
    Ort
    remchingen
    Beiträge
    255
    Original geschrieben von gENOZIDe
    Hi,

    ich bekomme das irgendwie nicht hin. Ich habe die Datei 'bash_completion' unter /etc/ mit den Zugriffsrechten 777 abgelegt (777 deshalb, damit mir jetzt bloss ja nix wegen den Rechten dazwischen funkt ). Danach noch die paar Zeilen zum Starten in die /etc/.bashrc gepastet aber es will nicht laufen... habe mich schon mehrere Male ausgeloggt und wieder eingeloggt. Ich habe die Datei 'bash_completion' auch manuell ausgefuehrt... nix!
    machs so wie ich:

    leg dir ein file an in dem du alles einfügst was du brauchst (u.a. auch bash_completion) und dann bindest du das file mit "test -e <absoluter pfad zum file> && . <absoluter pfad zum file>" in /etc/profile /etc/bash.bashrc, ~/.bashrc und sonstige configs file ein.

    mfg

    leifg
    Komparativ steht mit "als".

  15. #15
    Registrierter Benutzer
    Registriert seit
    Oct 2002
    Beiträge
    36
    habe gerade mein Debian ma auf unstable umgestellt, und siehe da, es ist jetzt auch dabei

Lesezeichen

Berechtigungen

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