Sie sind nicht angemeldet.

1

08.06.2015, 08:54

bash erzeugt fehler -bash: words: Falscher Feldbezeichner.

Hi,

Wenn ich tab drücke und vorher noch nichts eingegeben habe bekomme ich den Fehler -bash: words: Falscher Feldbezeichner.

Ich vermute mal dass es ein Problem mit bashcomp ist.

Meine installierte Bashcompversion:

Quellcode

1
2
3
[I] app-shells/gentoo-bashcomp
     Available versions:  20101217-r1 20121024 ~20140911
     Installed versions:  20121024(15:42:08 11.08.2013)


Meine aktivierten completions:

Quellcode

1
2
3
4
5
6
7
8
9
10
 # ls -l ~/.bash_completion.d/
insgesamt 0
lrwxrwxrwx 1 root root 37  8. Jun 08:43 chown -> ../../usr/share/bash-completion/chown
lrwxrwxrwx 1 root root 38  8. Jun 08:43 gentoo -> ../../usr/share/bash-completion/gentoo
lrwxrwxrwx 1 root root 35  8. Jun 08:44 man -> ../../usr/share/bash-completion/man
lrwxrwxrwx 1 root root 40  8. Jun 08:45 newusers -> ../../usr/share/bash-completion/newusers
lrwxrwxrwx 1 root root 34  8. Jun 08:47 su -> ../../usr/share/bash-completion/su
lrwxrwxrwx 1 root root 36  8. Jun 08:47 sudo -> ../../usr/share/bash-completion/sudo
lrwxrwxrwx 1 root root 39  8. Jun 08:47 useradd -> ../../usr/share/bash-completion/useradd
lrwxrwxrwx 1 root root 39  8. Jun 08:47 userdel -> ../../usr/share/bash-completion/userdel


Ich hab schon mal versucht jedes einzeln zu deaktivieren und dann zu versuchen aber immer noch der gleiche Fehler.

Jemand ne Idee was das Problem ist?

Danke

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Thorus« (10.06.2015, 09:35)


2

08.06.2015, 17:33

Hm, fehlt dir eventuell das Paket app-shells/bash-completion ?

Beachte dazu auch die News die es einst dazu gab:

Quellcode

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
$ eselect news read 26                                2014-11-25-bash-completion-2_1-r90
  Title                     bash-completion-2.1-r90
  Author                    Michał Górny <mgorny@gentoo.org>
  Posted                    2014-11-25
  Revision                  1

Starting with app-shells/bash-completion-2.1-r90, the framework used to
enable and manage completions in Gentoo is finally changing in order to
properly follow upstream design. This has some important implications
for our users.

Firstly, the install location for completions changes to follow upstream
default. The completions enabled before the upgrade will continue to
work but you may no longer be able to enable or disable completions
installed prior to the upgrade. To solve this issue, the packages
installing completions need to rebuilt. The following command can be
used to automatically rebuild all the relevant packages:

$ find /usr/share/bash-completion -maxdepth 1 -type f \
        '!' -name 'bash_completion' -exec emerge -1v {} +

Secondly, the autoloading support introduced upstream removes the
penalties involved with enabling a great number of completions. This
allowed us to switch to an opt-out model where all completions installed
after the upgrade are enabled by default. Specific completions can be
disabled using 'eselect bashcomp disable ...'

The model change implies that all current selections done using 'eselect
bashcomp' can not be properly migrated and will be disregarded when
the relevant completion files are built against the new bash-completion
version. After rebuilding all the packages providing completion files,
you may want to remove the symlinks that were used to configure
the previous framework using the following command:

$ find /etc/bash_completion.d -type l -delete

Thirdly, we have solved the issue causing bash-completion support to be
enabled by default on login shells only. If you needed to explicitly
source 'bash_completion' script in bashrc, you can safely remove that
code now since system-wide bashrc takes care of loading it.

Lastly, we would like to explain that USE=bash-completion is being
removed from packages for the completions will be installed
unconditionally now. However, this will result in some implicit
dependencies being removed. Most specifically, users wishing to use
bash-completion will have to request app-shells/bash-completion
explicitly, e.g.:

$ emerge -n app-shells/bash-completion

3

09.06.2015, 10:34

Nein das Paket hab ich installiert:

Quellcode

1
2
3
[I] app-shells/bash-completion
     Available versions:  1.3-r2 ~2.1 2.1-r2 ~2.1-r91 ~2.1-r92 ~2.1-r93 ~2.1_p20141224
     Installed versions:  2.1-r2(10:30:08 09.06.2015)


und da ich noch 2.1-r2 habe sollte die news nicht zutreffen, oder?

Aber weil ich das da gerade nochmal lese:

Quellcode

1
2
3
If you needed to explicitly
source 'bash_completion' script in bashrc, you can safely remove that
code now since system-wide bashrc takes care of loading it.


Ich habe meine .bashrc abgeändert, kann es sein dass ich da noch irgwas sourcen muss?

4

09.06.2015, 11:14

Hm, was ist denn das für eine Architektur? Unter amd64 ist app-shells/bash-completion-2.1_p20141224 stable.
Ich würde auf die neue Version umstellen und die Tipps aus der News befolgen.

5

09.06.2015, 14:45

Ah ok, ich hab das Problem gefunden, es gab tatsächlich updates und auch für bash-completion (entweder kam das erst vor kurzem oder mein mirror ist etwas langsam) (hab das letzte mal vor 2 Wochen updates eingespielt)

Hab jetzt natürlich auch strikt die news befolgt, aber jetzt fehlt mir noch app-eselect/eselect-bashcomp und das blockt bash-completion.

Heisst das ich kann jetzt kein eselect-bashcomp mehr verwenden oder ich muss es nicht mehr verwenden?

So wie ich das aus der news verstanden habe, kann man nach dem Update einzelne deaktivieren nicht mehr einzelne aktivieren, wie mach ich das jetzt wenn nicht über eselect?

Danke soweit schon mal?

6

09.06.2015, 23:27

Hehe nein,

Quellcode

1
eselect bashcomp
sollte schon mit da sein. Mit >=bash-completion-2.1-r90 wird schon ein eselect Modul mit installiert - von daher ist keine weitere Installation erforderlich.

Wenn ich das richtig sehe sind per default erst mal alle bashcomp aktiv, diese kann man aber je nach Bedarf deaktivieren, und auch wieder aktiv setzen.
Schau mal mit

Quellcode

1
eselect bashcomp list

7

10.06.2015, 09:35

ah tatsächlich danke, dass muss ich wohl bei eselect übersehen haben in der liste.