Ich verstehe, dass .DS_store
Dateien einen Zweck erfüllen. cd
Allerdings sind sie bei der automatischen Vervollständigung des Befehls lästig . Wenn ich cd
Terminal eingebe und zweimal die Tabulatortaste drücke, werden alle Verzeichnisse im Arbeitsverzeichnis aufgelistet.
Gibt es eine Möglichkeit, .DS_store
diese automatisch vervollständigte Verzeichnisliste im Terminal zu entfernen?
export FIGNORE=DS_Store
funktioniert bei mir.
Das GNU Bash-Handbuch bietet umfangreiche Informationen zur programmierbaren Vervollständigung .
Insbesondere aus der Dokumentation zu Bash-Variablen
FIGNORE [ist eine] durch Doppelpunkte getrennte Liste von Suffixen, die bei der Dateinamenvervollständigung ignoriert werden sollen. Ein Dateiname, dessen Suffix mit einem der Einträge in FIGNORE übereinstimmt, wird aus der Liste der übereinstimmenden Dateinamen ausgeschlossen. Ein Beispielwert ist '.o:~'
Wenn Sie befürchten, dass es möglicherweise vorhandene Suffixe in FIGNORE
gibt, können Sie Folgendes verwenden:
export FIGNORE=$FIGNORE:DS_Store
$FIGNORE:.DS_Store
auf dem Mac sein. Ohne "." ging es nicht..
Ich denke, wonach Sie wirklich suchen, ist die kontextsensitive Tab-Vervollständigung für Bash-Befehle. Zum Beispiel .DS_Store
ist eine normale Datei kein Verzeichnis, also sollte es nicht als mögliche Vervollständigung von angezeigt werden cd
.
Das Paket, das dieses Problem löst, heißt bash-completion
. Ich verwende die Version von Fink ( fink install bash-completion
) und sie ist auch bei MacPorts ( port install bash-completion
) und Homebrew ( brew install bash-completion
) erhältlich.
Nachdem das Paket in Ihrem .bashrc oder .bash_profile installiert und konfiguriert wurde, werden normale Dateien nicht mehr als Vervollständigungen für cd angezeigt, und viele andere gängige Bash-Befehle werden ebenfalls kontextbewusst (z. B. gunzip
).
Während Sie nur nach .DS_Store fragen, denke ich, dass das Entfernen aller versteckten Dateien aus der automatischen Vervollständigung im Allgemeinen besser ist. Dies kann durch den Befehl erfolgen:
bind 'Match-Hidden-Files aus'
Sie können es ~/.bash_profile hinzufügen, damit es jedes Mal für Sie aufgerufen wird. Dadurch wird die automatische Vervollständigung für versteckte Dateien nicht vollständig deaktiviert, Sie können immer noch '.' (Punkt) und drücken Sie die Tabulatortaste dafür.
Ich würde diesen Befehl verwenden:
zip -r foo.zip foo -x "*.DS_Store"
Hier zu finden: https://superuser.com/questions/198569/compressing-folders-on-a-mac-without-the-ds-store
Graham Perrin
cd
Terminal eingebe und dann zweimal die Tabulatortaste drücke, erscheint eine Eingabeaufforderung, bevor alle Möglichkeiten (nicht nur Verzeichnisse) aufgelistet werden.Jerome Anglim
lhf
cd */
gefolgt von zwei Tabulatoren listet alle Unterverzeichnisse des aktuellen Verzeichnisses auf. Aber Sie müssen die Rücktaste drücken, um eine auszuwählen ...Jerome Anglim
cd
es schlau genug wäre, standardmäßig nur Verzeichnisse aufzulisten.