独自の bash スクリプトにオートコンプリートを実装する

1990 年代に Linux と DOS が共存していた時代、Linux シェルには、最も些細で実用的な機能の 1 つであるコマンド オートコンプリートがありました。そして DOS バカは、死ぬまで使いやすさの意味を知りませんでした。

このささやかな Linux の伝統は今日まで続いています。取るに足らないように見えますが、実際には管理者の入力効率と正確性が大幅に向上します。

 

独自のスクリプトにオートコンプリート機能を実装する必要がある場合は、次のようなスクリプトを記述し、ユーザーがログインするたびにそれをソースするだけです。

この例は会社のチャネル マシンで、名前に従って該当するサーバーにログインできますが、サーバー名が長くて覚えにくく、毎回入力するのは非常に面倒です。したがって、このオートコンプリート スクリプトがあります。

 

tongdaoji() 
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    opts="java.vm swift.sa openstack.zf shanghai venusweb database"

    if [[ ${cur} == * ]] ; then
        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
        return 0
    fi
}

complete -F tongdaoji e


このスクリプトは、~/.bashrc や /etc/bash_completion.d/ など、ログインするたびに自動的に実行される場所に配置してください。次に、入力するだけです

 

e o<TAB>

得られる

e openstack.zf

上。

おすすめ

転載: blog.csdn.net/ffb/article/details/9194711