Come rimuovere .DS_Store dal completamento automatico della riga di comando usando cd?

14

Capisco che i file .DS_store abbiano uno scopo. Detto questo, sono una seccatura quando si completano automaticamente con il comando cd . Quando digito cd in Terminale e premo due volte la scheda elenca tutte le directory nella directory di lavoro.

C'è un modo per rimuovere .DS_store da questo elenco di directory con completamento automatico nel terminale?

    
posta Jeromy Anglim 13.11.2012 - 01:03
fonte

4 risposte

11

export FIGNORE=DS_Store funziona per me.

Il manuale di GNU Bash fornisce informazioni dettagliate sul completamento programmabile .

In particolare, dalla documentazione sulle variabili bash

FIGNORE [is a] colon-separated list of suffixes to ignore when performing filename completion. A file name whose suffix matches one of the entries in FIGNORE is excluded from the list of matched file names. A sample value is ‘.o:~’

Se sei preoccupato per la presenza di suffissi esistenti in FIGNORE , puoi utilizzare:

export FIGNORE=$FIGNORE:DS_Store
    
risposta data 13.11.2012 - 01:45
fonte
2

Penso che quello che stai davvero cercando sia il completamento della scheda sensibile al contesto per i comandi di Bash. Ad esempio, .DS_Store è un file normale, non una directory, quindi non dovrebbe essere visualizzato come possibile completamento a cd .

Il pacchetto che risolve questo problema si chiama bash-completion . Uso la versione di Fink ( fink install bash-completion ), ed è anche disponibile da MacPorts ( port install bash-completion ) e Homebrew ( brew install bash-completion ).

Dopo che il pacchetto è stato installato e configurato nel tuo file .bashrc o .bash_profile, i file normali non verranno più visualizzati come completamenti per cd, e molti altri comandi di bash comuni diventano anche sensibili al contesto (ad esempio gunzip ).

    
risposta data 08.10.2014 - 17:27
fonte
2

Mentre stai chiedendo solo su .DS_Store, penso che la rimozione di tutti i file nascosti dalla funzione di completamento automatico sia migliore in generale. Questo può essere fatto dal comando:

bind 'set match-hidden-files off'

puoi aggiungerlo ~ / .bash_profile per farlo richiamare ogni volta per te. Questo non disabiliterà completamente il completamento automatico dei file nascosti, puoi comunque digitare '.' (punto) e premi scheda per questo.

    
risposta data 05.06.2017 - 14:35
fonte
-1

Vorrei usare questo comando:

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

Trovato qui: link

    
risposta data 27.07.2014 - 20:59
fonte

Leggi altre domande sui tag