IP_address
나는 심볼릭 링크 -> (pxe 시작용) 를 생성하는 간단한 스크립트를 가지고 있습니다 config_file
. 내 스크립트는 다음과 같이 호출됩니다.
lnpxe CONFIG HOSTNAME
CONFIG
내 구성 파일 중 하나가 어디에 저장되어 /home/tftp/config/
있으며 HOSTNAME
호스트 이름이 있습니까? 이제 스크립트에 bash_completion을 설정하려고 합니다. 나는 내 프로필이 나에게 그것을 "제안"하고 내가 입력 lnpxe
한 다음 누르는 동안 자동 완성되도록 하길 원합니다. 마찬가지로 두 번째 매개변수의 경우 내 파일에서 사용 가능한 호스트에 대한 제안을 얻고 싶습니다 (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