¿Cómo eliminar .DS_Store de la finalización automática de la línea de comandos con cd?

14

Entiendo que los archivos .DS_store tienen un propósito. Dicho esto, son una molestia cuando se completan automáticamente con el comando cd . Cuando escribo cd en Terminal y presiono la pestaña dos veces, se enumeran todos los directorios en el directorio de trabajo.

¿Hay alguna forma de eliminar .DS_store de esta lista de directorios que se completa automáticamente en el terminal?

    
pregunta Jeromy Anglim 13.11.2012 - 01:03

4 respuestas

11

export FIGNORE=DS_Store funciona para mí.

El manual de GNU Bash proporciona información extensa sobre la finalización programable .

Específicamente, desde la documentación de sobre las variables de bash

  

FIGNORE [es una] lista de sufijos separados por dos puntos para ignorar al realizar   completar el nombre del archivo. Un nombre de archivo cuyo sufijo coincida con uno de los   Las entradas en FIGNORE se excluyen de la lista de nombres de archivos coincidentes. UNA   el valor de muestra es ‘.o: ~’

Si le preocupa que pueda haber sufijos existentes en FIGNORE , entonces puede usar:

export FIGNORE=$FIGNORE:DS_Store
    
respondido por el lhf 13.11.2012 - 01:45
2

Creo que lo que realmente estás buscando es la finalización de pestañas en función del contexto para los comandos Bash. Por ejemplo, .DS_Store es un archivo normal, no un directorio, por lo que no debería aparecer como una posible finalización de cd .

El paquete que resuelve este problema se llama bash-completion . Utilizo la versión de Fink ( fink install bash-completion ), y también está disponible en MacPorts ( port install bash-completion ) y Homebrew ( brew install bash-completion ).

Después de instalar y configurar el paquete en su .bashrc o .bash_profile, los archivos normales ya no se mostrarán como completados para cd, y muchos otros comandos bash comunes también tienen en cuenta el contexto (por ejemplo, gunzip ).

    
respondido por el spinup 08.10.2014 - 17:27
2

Mientras preguntas sobre solo .DS_Store, creo que eliminar todos los archivos ocultos del autocompletado será mejor en general. Esto se puede hacer mediante el comando:

  

enlazar 'desactiva los archivos ocultos de coincidencia'

puede agregarlo ~ / .bash_profile para que se lo invoque cada vez. Esto no deshabilitará el autocompletado de archivos ocultos por completo, aún puede escribir '.' (punto) y pulsa la pestaña para ello.

    
respondido por el okutane 05.06.2017 - 14:35
-1

Yo usaría este comando:

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

encontrado aquí: enlace

    
respondido por el ling 27.07.2014 - 20:59

Lea otras preguntas en las etiquetas