GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man Bash Autocomplete anpassen, um die Dateien in einem anderen Verzeichnis aufzulisten?

So passen Sie die automatische Vervollständigung der Bash an, um die Dateien in einem anderen Verzeichnis aufzulisten
für nur eine Skriptoption (-seq), für andere Skriptoptionen (-speed, -define) ist die standardmäßige automatische Vervollständigung in Ordnung.
Das habe ich

 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

Wie aktiviere ich die Standard-Bash-Vervollständigung für andere Optionen?

Akzeptierte Antwort:

sollte prev anstelle von cur verwenden:

_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. Wie verschiebt man alle Dateien (einschließlich versteckter) von einem Verzeichnis in ein anderes?

  2. Wie erhalte ich eine Anzahl von Dateien in einem Verzeichnis über die Befehlszeile?

  3. Die Bash‘?

  4. Wie kann ich die Ausgabe eines laufenden Prozesses in einer anderen Bash-Sitzung anzeigen?

  5. Wie kann ich die Größe jeder Datei und jedes Verzeichnisses auflisten und in Bash nach absteigender Größe sortieren?

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

Wie man Dateien in Linux rekursiv auflistet

Wie kopiert man eine Datei aus einem anderen Verzeichnis in das aktuelle?

Wie kann ich die 5 zuletzt geänderten Dateien in einem Verzeichnis auflisten (ls)?

Wie erhalte ich die tatsächliche Verzeichnisgröße (aus du)?

So listen Sie den Kernel-Gerätebaum auf