GNU/Linux >> Tutoriels Linux >  >> Linux

Comment personnaliser Bash Autocomplete pour lister les fichiers dans un autre répertoire ?

Comment personnaliser la saisie semi-automatique bash pour lister les fichiers dans un autre répertoire
pour une seule option de script (-seq), pour les autres options de script (-speed, -define) la saisie semi-automatique par défaut est O.K.
c'est ce que j'ai

 export files=`ls /home/tests/`
 echo $files #debug     

 _xtest ()   {              
      local cur
      COMPREPLY=()     
      cur=${COMP_WORDS[COMP_CWORD]}
       #case "$cur" in
       COMPREPLY=( $(compgen -W "${files}" -- ${cur}) )
    #  esac
      return 0
    }

    complete -F _xtest -o filenames xtest

Comment activer la complétion bash par défaut pour les autres options ?

Réponse acceptée :

devrait utiliser prev au lieu de cur :

_xtest ()   {              
      local prev
      COMPREPLY=()     
      prev=${COMP_WORDS[COMP_CWORD-1]}
      case "$prev" in
       -seq )
          COMPREPLY=( $(compgen -W "${files}" -- ${cur}) ) ;;
      esac
      return 0
    }
complete -F _xtest -o filenames xtest

Linux
  1. Comment déplacer tous les fichiers (y compris cachés) d'un répertoire à un autre ?

  2. Comment obtenir un nombre de fichiers dans un répertoire à l'aide de la ligne de commande ?

  3. La fête ?

  4. Comment afficher la sortie d'un processus en cours d'exécution dans une autre session Bash ?

  5. Comment répertorier les descripteurs de fichiers ouverts (et les fichiers auxquels ils se réfèrent) dans la session Bash en cours ?

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

Comment lister les fichiers de manière récursive sous Linux

Comment copier un fichier d'un autre répertoire vers celui en cours ?

Comment copier les 10 fichiers les plus récents d'un répertoire à un autre ?

Comment lister l'arborescence des périphériques du noyau

Comment lister les descripteurs de fichiers ouverts (et les fichiers auxquels ils se réfèrent) dans ma session bash actuelle