IP_address
私はシンボリックリンク - >(pxe起動用)を生成する簡単なスクリプトを持っていますconfig_file
。私のスクリプトは次のように呼び出されます。
lnpxe CONFIG HOSTNAME
CONFIG
私の設定ファイルの1つはどこに保存され、/home/tftp/config/
ホストHOSTNAME
名はありますか?これでスクリプトにbash_completionを設定しようとしています。私は私のプロフィールが私にそれを「提案」し、私が入力してから押しながらlnpxe
自動補完するようにしたいと思います。同様に、2番目のパラメータについては、私のファイルで利用可能なホストの提案を取得したいと思います(pingまたはsshが実行するものと似ています)。TAB
/home/tftp/config/
/etc/hosts
ここに私の/etc/bash_completion.d/lnpxe
ファイルがありますが、私が望むように動作しません。
_lnpxe()
{
local cur prev
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
_filedir
}
complete -F _lnpxe -o filenames lnpxe
誰でも助けることができますか?
ベストアンサー1
_lnpxe()
{
HOSTFILE=/etc/hosts
local word
COMPREPLY=()
if [ 1 -eq "$COMP_CWORD" ]; then
pushd /home/tftp/config &>/dev/null || return 1
word="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=($(compgen -f "$word"))
popd &>/dev/null
fi
if [ 2 -eq "$COMP_CWORD" ]; then
word="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=($(compgen -A hostname "$word"))
fi
}
complete -F _lnpxe lnpxe