ユーザー入力を読み取り、プロセスを終了するシェルスクリプトを作成しました。ただし、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
必要に応じて調整してください。compgen
bash