Bash用のタブ補完スクリプトの作成

Bash用のタブ補完スクリプトの作成

ユーザー入力を読み取り、プロセスを終了するシェルスクリプトを作成しました。ただし、bashでは、ユーザーがTabキーを押すとbashはいくつかのkeyword名前を提案しますfile。しかし、私のスクリプトは提案をしません。

スクリプトのタブ補完を有効にするにはどうすればよいですか?

答え1

最も簡単な方法は、インストールbash-completion(またはディストリビューション名が何でも)して完了スクリプトを作成して配置することです/etc/bash_completion.d。デフォルトの完了スクリプトは次のとおりです。

have cancel &&
_cancel()
{
    local cur

    COMPREPLY=()
    _get_comp_words_by_ref cur

    COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) )
} &&
complete -F _cancel cancel

cancelのコマンドですcups。マニュアルを読み、COMPREPLY必要に応じて調整してください。compgenbash

関連情報