17 votes

Comment supprimer .DS_Store de l'autocomplétion de la ligne de commande en utilisant cd ?

Je comprends que .DS_store les fichiers servent à quelque chose. Cela dit, ils sont gênants lors de l'autocomplétion avec la fonction cd commande. Lorsque je tape cd dans le Terminal et appuyez deux fois sur la touche tabulation, cela liste tous les répertoires du répertoire de travail.

Existe-t-il un moyen de supprimer .DS_store à partir de cette liste de répertoire auto-complétée dans le terminal ?

0 votes

Quand je tape cd dans le Terminal puis appuyez deux fois sur la touche Tab : il y a une invite avant que toutes les possibilités (pas seulement les répertoires) soient listées.

0 votes

Cela semble être un meilleur comportement ; Savez-vous comment empêcher la liste des fichiers lors d'une double tabulation après un CD ?

0 votes

cd */ suivi de deux tabulations liste tous les sous-répertoires du répertoire courant. Mais il faut revenir en arrière pour en sélectionner un...

16voto

Igor Zelaya Points 2266

export FIGNORE=DS_Store fonctionne pour moi.

El Le manuel de GNU Bash fournit de nombreuses informations sur la complétion programmable .

Plus précisément, à partir du documentation sur les variables bash

FIGNORE [est une] liste de suffixes, séparés par deux points, à ignorer lors de l'exécution de la commande lors de la complétion des noms de fichiers. Un nom de fichier dont le suffixe correspond à l'une des entrées de entrées dans FIGNORE est exclu de la liste des noms de fichiers correspondants. A exemple de valeur est '.o:~'.

Si vous craignez qu'il y ait des suffixes existants dans le fichier FIGNORE alors vous pouvez utiliser :

export FIGNORE=$FIGNORE:DS_Store

0 votes

Je ne sais pas pour vous, mais il fallait que ce soit $FIGNORE:.DS_Store sur Mac pour moi. Ça ne marche pas sans le "."

0 votes

@typeoneerror, même chose pour moi. Peut-être que dans le passé, cela fonctionnait comme indiqué. Merci de me le faire savoir.

1 votes

Dans MacOS Sierra 10.12.5, cela ne fonctionne pour moi que si j'omets l'option .

1voto

spinup Points 425

Je pense que ce que vous recherchez vraiment, c'est la complétion de tabulation contextuelle pour les commandes Bash. Par exemple, .DS_Store est un fichier normal, pas un répertoire, donc il ne devrait pas apparaître comme un complément possible à cd .

Le paquet qui résout ce problème s'appelle bash-completion . J'utilise la version de Fink ( fink install bash-completion ), et il est également disponible sur MacPorts ( port install bash-completion ) et Homebrew ( brew install bash-completion ).

Une fois que le paquet est installé et configuré dans votre .bashrc ou votre .bash_profile, les fichiers ordinaires n'apparaîtront plus comme compléments de cd, et de nombreuses autres commandes bash courantes deviennent également sensibles au contexte (par ex. gunzip ).

1voto

okutane Points 284

Bien que votre question ne concerne que .DS_Store, je pense que la suppression de tous les fichiers cachés de l'autocomplétion sera meilleure en général. Cela peut être fait par la commande :

bind 'set match-hidden-files off' (définir les fichiers cachés)

vous pouvez l'ajouter à ~/.bash_profile pour qu'il soit invoqué à chaque fois pour vous. Cela ne désactivera pas complètement l'autocomplétion pour les fichiers cachés, vous pouvez toujours taper '.' (point) et appuyer sur la touche tabulation.

-1voto

ling Points 211

J'utiliserais cette commande :

zip -r foo.zip foo -x "*.DS_Store"

Trouvé ici : https://superuser.com/questions/198569/compressing-folders-on-a-mac-without-the-ds-store

0 votes

Comment cela résout-il le problème de la suppression de .DS_Store de l'autocomplétion ?

0 votes

En fait, ce n'est pas le cas. Mais je suis tombé sur cette page en cherchant "mac zip without .DS_STORE". J'ai donc pensé que cela pourrait peut-être aider quelqu'un d'autre. Mais c'est probablement une mauvaise idée.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X