bash_completion

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Voyager_MP
Beiträge: 628
Registriert: 22.06.2004 10:04:07
Wohnort: Aachen

bash_completion

Beitrag von Voyager_MP » 22.05.2006 15:47:48

hallo, ich habe den effect, das bash_completion (/etc/bash_completion) immer erst durch explizietem aufruf von bash gesourced.

Hier ein meine .bashrc

Code: Alles auswählen

for file in ~/.bash/* ; do
    source $file
done

set -o notify
set -o ignoreeof
set -o nounset
set +o nounset

shopt -s cdspell
shopt -s cdable_vars
shopt -s checkhash
shopt -s checkwinsize
shopt -s mailwarn
shopt -s sourcepath
shopt -s no_empty_cmd_completion
shopt -s histappend histreedit
shopt -s extglob
~/.bash/completion

Code: Alles auswählen

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi

complete -A hostname   ssh rsh rcp telnet rlogin r ftp ping disk
complete -A command    nohup exec eval trace gdb
...

Wenn ich ein xterm auf mache, kann ich zum beispiel nicht apt completion machen.
Erst, wenn ich bash aufrufe dann gehts.


warum ???
Gruß Michel

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 22.05.2006 16:55:51

Warum sourst du die Datei nicht auf dem Debian-way? Also in /etc/bash.bashrc auskommentieren und dann in /etc/profile ein

Code: Alles auswählen

. /etc/bash.bashrc
?

bye, Martin

EDIT: die anderen Sachen in deiner ~/.bashrc gehen?

bye, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 22.05.2006 16:57:01

Ich sage einmal ich habe nicht exakt verstanden was das Problem ist
- bash completion scheint nicht zu funktionieren
- was das mit APT zu tun hat verstehe ich nicht

Um bash completion zu ermöglichen kann man es
- global (als root) in /etc/bash.bashrc oder
- pro user in seiner ~/.bashrc
dadurch enablen, dass man die Kommentarzeichen entfernt (der code ist schon da)

aus ~/.bashrc

Code: Alles auswählen

       
    # enable programmable completion features (you don't need to enable
    # this, if it's already enabled in /etc/bash.bashrc).
    #if [ -f /etc/bash_completion ]; then
    #  . /etc/bash_completion
    #fi
fi
markus

algol
Beiträge: 25
Registriert: 24.03.2006 08:18:16

Beitrag von algol » 22.05.2006 17:05:21

Die ~/.bashrc wird nur beim Start einer interaktiven bash gelesen, nicht beim login. Das ist wohl dein Problem.

Erstelle dir eine ~/.profile, in die du

Code: Alles auswählen

source ~/.bashrc
reinschreibst, und dann wird die .bashrc in beiden Fällen geladen.

Benutzeravatar
Voyager_MP
Beiträge: 628
Registriert: 22.06.2004 10:04:07
Wohnort: Aachen

Beitrag von Voyager_MP » 23.05.2006 08:31:13

zu den fragen:
Ja der rest in meiner bash geht.
apt ist nur ein beispiel für die completion
/etc/bash.bashrc

Code: Alles auswählen

if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
Ist auch schon drin.



michel@mp =» cat ~/.profile
source ~/.bashrc


Tuts leider auch nicht.
Kann mir vielleicht jemand mal den genauen ablauf beschreiben, den mein xterm nimmt. wenn ich es aufrufe ? Ich meine welche dateien da nacheinander abgearbeitet werden ?
Meine Shell ist bash... klar oder ;=)

/edit meandtheshell
Grund: Code bitte der Lesbarkeit wegen immer in Code Tags schreiben
Gruß Michel

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 23.05.2006 14:01:29

Voyager_MP hat geschrieben: Kann mir vielleicht jemand mal den genauen ablauf beschreiben, den mein xterm nimmt. wenn ich es aufrufe ? Ich meine welche dateien da nacheinander abgearbeitet werden ?
Etwas über die Aufrufreihenfolge etc. findest du hier http://www.linuxfibel.de/bash.htm

Ich würde zu allererst nachsehen welche Bash bei dir gestartet wird. Der Normalfall ist die interaktive Variante.

markus

Antworten