GNU/Linux >> Linux の 問題 >  >> Linux

別のディレクトリにファイルを一覧表示するためにBashオートコンプリートをカスタマイズする方法は?

bashオートコンプリートをカスタマイズして別のディレクトリにあるファイルを一覧表示する方法
1つのスクリプトオプション(-seq)のみ、他のスクリプトオプション(-speed、-define)の場合デフォルトのオートコンプリートはOKです。
これは私が持っているものです

 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

他のオプションでデフォルトのbash補完を有効にする方法は?

承認された回答:

curの代わりにprevを使用する必要があります:

_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. 現在のBashセッションで開いているファイル記述子(およびそれらが参照するファイル)を一覧表示するにはどうすればよいですか?

  2. ディレクトリ内の最後の8ファイルのみを別のディレクトリに移動しますか?

  3. BASH シェルが Linux で構成ファイルをロードする方法

  1. 各ファイルとディレクトリのサイズを一覧表示し、Bash で降順で並べ替える方法は?

  2. あるディレクトリから別のディレクトリに最新の上位 10 個のファイルをコピーする方法は?

  3. bashでファイルの絶対ディレクトリを取得するにはどうすればよいですか?

  1. Git for Windows で Git Bash のディレクトリを変更するにはどうすればよいですか?

  2. ディレクトリから最近削除されたファイルを一覧表示する方法は?

  3. 実際のディレクトリ サイズを (du から) 取得する方法は?