GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Menyesuaikan Bash Autocomplete Untuk Mencantumkan File Di Direktori Lain?

Bagaimana menyesuaikan bash autocomplete untuk membuat daftar file di direktori lain
hanya untuk satu opsi skrip (-seq), untuk opsi skrip lain (-speed, -define) autocomplete default adalah OK.
ini yang saya miliki

 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

Bagaimana cara mengaktifkan penyelesaian bash default untuk opsi lain?

Jawaban yang Diterima:

harus menggunakan prev bukan 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. Bagaimana cara mendaftar ukuran setiap file dan direktori dan mengurutkan berdasarkan ukuran menurun di Bash?

  2. Bagaimana cara menyalin 10 file terbaru teratas dari satu direktori ke direktori lain?

  3. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  1. Bagaimana cara mengubah direktori di Git Bash dengan Git untuk Windows?

  2. Bagaimana cara mendaftar file yang baru dihapus dari direktori?

  3. Cara mendaftar Pohon Perangkat kernel

  1. Bagaimana Memindahkan Semua File (termasuk Tersembunyi) Dari Satu Direktori Ke Yang Lain?

  2. Bagaimana Cara Mendapatkan Hitungan File Dalam Direktori Menggunakan Baris Perintah?

  3. Cara mendaftar deskriptor file terbuka (dan file yang mereka rujuk) di sesi bash saya saat ini