Seite 1 von 1

Autovervollständigung der Bash ist kaputt (Fehlermeldung)

Verfasst: 2. Jun 2019, 15:10
von teetasse
Hallo,

auf meinem Laptop ist die Autovervollständigung der Bash kaputt, allerdings nicht bei jedem Befehl. Am Beispiel der Datei .xinitrc:

- vi ODER kate ODER oowriter .xi <Tabulator-Taste> ==> Fehlermeldung

Code: Alles auswählen

bash: command substitution: Zeile 21: Syntaxfehler beim unerwarteten Wort `}'
bash: command substitution: Zeile 21: `        }'
- ls ODER cp .xi <Tabulator-Taste> ==> funktioniert. Das .xi wird zu .xinitrc ergänzt.

In welcher Datei kann dieser Fehler stecken?

Re: Autovervollständigung der Bash ist kaputt (Fehlermeldung)

Verfasst: 2. Jun 2019, 20:54
von Heinz-Peter
Versteckte Dateien (Dateien die mit einem Punkt anfangen) oder Dateien mit einem Leerzeichen werden in Anführungszeichen ( ".dateiname") gesetzt.

Re: Autovervollständigung der Bash ist kaputt (Fehlermeldung)

Verfasst: 2. Jun 2019, 21:46
von robi
Ich bin mir nicht sicher ob es sich hier nicht wirklich um einen Fehler irgendwo in der Konfiguration der bash-completion handelt.
Vervollständigung von vi auf Versteckte Dateien funktioniert bei mir zB ganz normal auch ohne das ich das in Anführungszeichen setze.

* Verzeichnis /usr/share/bash-completion/ dort sollten alle Dateien ein einheitliches Anderungsdatum haben.
Kommen entweder aus Paket util-linux oder bash-completion oder ähnliches, je nach Distribution.

* Verzeichnis /etc/bash_completion/ falls alternativ vorhanden, das gleiche.

* Verzeichnis /etc/bash_completion.d/ falls vorhanden, hier legen einige Tools bei der Installation ebenfalls solche Dateien ab.

Du kannst auch mal in der Konfiguration der aktuellen Bash suchen.
set | less # und dann dort nach Abschnitten suchen in denen der Befehl "complete" vorkommt.

Suchen müsstest du wohl nach unausgeglichenen Geschweiften Klammern, falschen Kommentaren und abgeschnittenen Dateien, insbesondere bei Kommand-Substitutionen. Sieht mir so aus als ob dort ein "{" fehlt, oder irgendwie auskommentiert oder anders ungültig gemacht worden ist.
Kann aber in solchen Scripten auch immer passieren das nicht der wirkliche Fehler angezeigt wird, sondern erst ein Folgefehler.

robi