Sie sind nicht angemeldet.

1

23.06.2006, 13:19

[gelöst] TAB Completion wie bei Ubuntu-BASH??

Ich habe heute mal spaßeshalber eine Ubuntu Live CD eingelegt um mir das ganze mal ein bisschen anzuschauen.

Auf der Bash ist mir aufgefallen, dass es viel mehr Tab Completion gibt wie auf meiner normalen Gentoo-Bash.

Hab mal paar Beispiele:

Quellcode

1
2
3
4
5
6
7
8
sudo <TAB>
# bringt alle Befehle die man als Root ausführen kann
man <TAB> 
# erweitert auch alle Befehle, was ich sehr sinnvoll finde
sudo modprobe <TAB>
#schlägt Module vor die geladen werden können
sudo pon <TAB> 
#bietet sogar passende Konfigurationsdateien als Parameter an (dsl-provider) 
Weiß jemand, wie ich das unter Gentoo genauso hinbekomm?
,__, ,__,
____(oo) (o0)____
/( . .(__) (__). . )\
~~*~||~~||~~~~~~||~~||~*~~
gentoo - compile your own world

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »redd« (25.06.2006, 19:49)


2

23.06.2006, 13:37

Quellcode

1
2
3
4
5
* app-shells/bash-completion 
     Available versions:  20060301 20050121-r10 20050721
     Installed:           none
     Homepage:            http://www.caliban.org/bash/index.shtml#completion
     Description:         Programmable Completion for bash
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

3

25.06.2006, 19:29

irgendwie komme ich nicht weiter.
Hab jetzt mal folgendes Paket emerged:

Quellcode

1
2
3
4
5
* app-shells/gentoo-bashcomp
     Available versions:  20050516
     Installed:           20050516
     Homepage:            http://developer.berlios.de/projects/gentoo-bashcomp/
     Description:         Gentoo-specific bash command-line completions (emerge, ebuild, equery, etc)
Dieses hat "app-shells/bash-completion" als Abhängigkeit.

Hab nun mit Hilfe des Befehls "bashcomp-config" die gentoo-completions aktiviert, jedoch tut sich weder bei emerge noch bei equery etwas.
Was mache ich denn falsch?
,__, ,__,
____(oo) (o0)____
/( . .(__) (__). . )\
~~*~||~~||~~~~~~||~~||~*~~
gentoo - compile your own world

4

25.06.2006, 19:43

Hast Du die folgende Zeile in Deiner ~/.bashrc aktiviert?

Quellcode

1
[[ -f /etc/profile.d/bash-completion ]] && source /etc/profile.d/bash-completion
Wichtig: vor allen Aliasen!

HTH
Rudi
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

5

25.06.2006, 19:49

Danke ;) Es funktioniert!

So macht des Arbeiten mit der Bash gleich doppelt Spaß =)
,__, ,__,
____(oo) (o0)____
/( . .(__) (__). . )\
~~*~||~~||~~~~~~||~~||~*~~
gentoo - compile your own world

6

25.06.2006, 20:57

was kann die bash denn dann alles erraten?
frage mich grad, ob ich das brauche *G*
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

7

25.06.2006, 21:08

Zitat

Original von Poedel
was kann die bash denn dann alles erraten?

In etwa folgendes:
Du gibst ein:

Quellcode

1
acroread Bla<TAB>
und erhältst eine Liste aller PDF-Dateien im aktuellen Verzeichnis, deren Namen mit "Bla" beginnen. Sollte nur eine solche Datei vorhanden sein, wird deren Name vervollständigt. Dateien, deren Name nicht "Bla*.pdf" lautet, werden ignoriert.

Oder:

Du tippst ein:

Quellcode

1
emerge -av bash-c<TAB>
und das wird vervollständigt zu

Quellcode

1
emerge -av bash-completion
Und das funktioniert für zig andere Anwendungen - jeweils anwendungsspezifisch.

HTH
Rudi
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

8

26.06.2006, 07:28

hatte das früher mal, und er hat immer 3-5 sek zum laden der completions gebraucht!

ist das immer noch so? mein sys ist jetzt schneller, aber hab grad keine zeit, das auszuprobieren

Lorenz
Software is like sex - it's better when it's free.

9

26.06.2006, 11:12

Ist eigentlich recht flott - nur die "Antwortzeiten" bei "emerge bla<TAB>" lassen etwas zu wünschen übrig.
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

10

26.06.2006, 11:21

Natürlich funktioniert das nicht immer. Halt nur da wo es unterstützt wird.
Siehe auch:

Quellcode

1
eselect bashcomp list
"Erst nachdem wir alles verloren haben, haben wir die Freiheit, alles zu tun."
"It's only after we've lost everything, that we're free to do anything!"

Jabber: Die ID kann via PN erfragt werden.

11

26.06.2006, 11:32

naja.. es dauert auch bei p4 3000MHz mit 1 GIG Ram noch lange.. aber immerhin muß er ja auch bei emerge den ganzen Portagenbaum durchsuchen *G*
da ist für diese Anwendung das esearch aus dem ebuildgestrüpp esync doch ratsamer und hammer schnell ..
esearch druchsucht in windeseile den Portage baum nach Inhalten im Ebuildnamen oder mit -S in der Beschreibung.. das geht wirklich schnell!
mit esync sind gleich 2 Befehle abgearbeitet, einmal das emerge --sync und das updaten der esearch Datenbank. Sehr empfehlenswert für Portagenbaumsucher :D
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

12

26.06.2006, 11:39

Nimm lieber eix - esearch ist dagegen langsam. Insb. der Datenbank-Update ist bei eix *erheblich* schneller.
Seien Sie vorsichtig mit Gesundheitsbüchern - Sie könnten an einem Druckfehler sterben. [Mark Twain]

13

26.06.2006, 11:54

müßte ich mal vergleichen.. das länxte am updaten ist e immer das emerge --sync :D
aber versuchen tu ichs mal
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

14

26.06.2006, 12:15

Also ich bin echt froh über die Completions, da ich vor allem mit sudo arbeite, und dort vorher nachfolgenden Befehle vervollständigt wurde und jetzt kann ich zum Beispiel solche schonen Sachen machen.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
redd@redd-mobile ~ $ sudo em<tab>
emaint           emerge           emerge-webrsync
redd@redd-mobile ~ $ sudo emerge --ask gnome-<tab>
gnome-base/   gnome-extra/
redd@redd-mobile ~ $ sudo emerge --ask gnome-extra/<tab>
at-spi                   gcursor                  gnome-screensaver        libgnomedb
battstat                 gdesklets-core           gnome-swallow            libgsf
bonobo-conf              glibwww                  gnome-system-monitor     lock-keys-applet
bug-buddy                gnobog                   gnome-utils              merlin-cpufire
deskbar-applet           gnome2-user-docs         gtkhtml                  nautilus-cd-burner
drwright                 gnome-art                gtop                     nautilus-open-terminal
evolution-data-server    gnome-audio              gucharmap                nautilus-sendto
evolution-exchange       gnome-games              guppi                    quick-lounge-applet
evolution-webcal         gnome-games-extra-data   gxmms                    sensors-applet
fast-user-switch-applet  gnome-keyring-manager    hal-device-manager       shermans-aquarium
gal                      gnome-media              hardware-monitor         users-guide
gcalctool                gnome-pim                libgail-gnome            yelp
gconf-editor             gnome-power-manager      libgda                   zenity
,__, ,__,
____(oo) (o0)____
/( . .(__) (__). . )\
~~*~||~~||~~~~~~||~~||~*~~
gentoo - compile your own world