GNU/Linux >> Linux Esercitazione >  >> Linux

_path_files e il parametro Compadd Ignore-files?

Qual è il formato per l'opzione -F di _path_files e compadd ?

Sto passando diverse directory a _path_files :

_path_files -W "($base_directories)" -/

Ma alcuni di quegli alberi di directory non voglio completare per questo particolare comando.

La documentazione che posso trovare per _path_files dice che accetta un -F opzione, proprio come compadd , ma non riesco a trovare il formato per passarli.

Anche gironzolare non è stato molto fruttuoso.

Ho provato, ad esempio,

_path_files -W "($base_directories)" -/ -F shared; # shared still shows up
_path_files -W "($base_directories)" -/ -F "(shared)"; # barfs on that guy

Risposta accettata:

Sembra corretto se vuoi ignorare shared alla radice dell'albero delle directory, cioè se stai ignorando una delle $base_directories . Ma se intendevi ignorare shared da qualche parte più in profondità nella gerarchia, hai bisogno di -F "(shared **shared)" . Puoi anche inserire i modelli in una matrice, che ridurrà i problemi di citazione.

local -a ignored base_directories
base_directories=(…)
ignored=(shared '*/shared')
_path_files -W base_directories -/ -F ignored

Ci sono esempi nella distribuzione standard in _cvs e _darcs .

Se questo non aiuta, prova a indagare su cosa sta succedendo aggiungendo set -x e set +x intorno al codice problematico, o setopt local_options xtrace (aka set -x e modificare le opzioni solo per la durata della funzione corrente).


Linux
  1. Caricamento di librerie condivise e utilizzo della RAM?

  2. Script di shell con funzione e parametro come variabili?

  3. Taglia / Grep e Df -h?

  4. Grep e coda -f?

  5. Lampone Pi 4 e Kali

Libreria condivisa Jenkins:come creare, configurare e utilizzare

Imposta una cartella condivisa tra host KVM e guest

Cartella condivisa in Virtualbox (ubuntu e Windows 7)?

Differenza tra oggetti condivisi (.so), librerie statiche (.a) e DLL (.so)?

Allocazione e deallocazione della memoria attraverso i limiti delle librerie condivise

Come far funzionare insieme le chiavi condivise .ssh/authorized_keys e sudo?