Es gibt eine Sache, die mich davon abhält, meinen GUI-Dateimanager für Bash zu verwerfen: Bash führt keine Tab-Vervollständigung bis zum einzigen Unterverzeichnis in einem leeren Verzeichnis durch.
$ ls
.. // is not displayed, when cmd is simply ls
. // but they still exist
subdir/
cd <tab>
Ich möchte in der Lage sein, zu erweitern, cd subdir/
da sich im aktuellen Verzeichnis nichts anderes befindet, aber Bash erfordert die Eingabe des ersten Buchstabens, um diesen Befehl abzuschließen.
Anwendungsfall
Das Navigieren in Projekten mit verschachtelten Verzeichnissen (insbesondere unbekannten) ist mühsam. /src/main/com/application/module/package bedeutet:
s<tab><tab><tab>m<tab><tab><tab>c<tab><tab><tab>a<tab>...
während beispielsweise in Thunar das erste Verzeichnis bereits ausgewählt ist, sodass ich einfach mehrmals die Eingabetaste drücken kann.
Ich vermute, das liegt an der Kennung des aktuellen und des übergeordneten Verzeichnisses. Was wäre die richtige Art, dieses Verhalten in Bash zu archivieren?
//Bearbeiten_2:
Ich verwende xfce4-terminal unter Debian 10
Antwort1
Vielen Dank an alle für die schnellen Kommentare zu meinem Problem. Das Deaktivieren der Shell-Skripte für programmierbare Shell-Skripte hat mein Problem gelöst.
Es trat aufgrund eines von Debian vorinstallierten Pakets auf. Schritte zur Behebung dieses Verhaltens waren:
- Beseitigen Sie die Vorkommen der folgenden Codeliste in meinen
.bashrc
-Dateien, nämlich $HOME/.bashrc, $HOME/.profile, /etc/bash.bashrc und /etc/profile. - Entfernen Sie das Paket über
apt remove bash-completion
, wodurch die folgenden Dateien entfernt werdenDebian-Pakete - Dateien auflisten - Quellcode der bearbeiteten .bashrc / Bash neu starten.
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Vielen Dank, Jungs!