İşte temel rehber.
Otomatik tamamlama çalışmasını istediğiniz admin.sh adında bir komut dosyası örneği verelim.
#!/bin/bash
while [ $# -gt 0 ]; do
arg=$1
case $arg in
option_1)
# do_option_1
;;
option_2)
# do_option_1
;;
shortlist)
echo option_1 option_2 shortlist
;;
*)
echo Wrong option
;;
esac
shift
done
Seçenek kısa listesini not edin. Bu seçeneğe sahip komut dosyası çağırmak, bu komut dosyası için olası tüm seçenekleri yazdıracaktır.
Ve burada otomatik tamamlama komut dosyası var:
_script()
{
_script_commands=$(/path/to/your/script.sh shortlist)
local cur prev
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=( $(compgen -W "${_script_commands}" -- ${cur}) )
return 0
}
complete -o nospace -F _script ./admin.sh
Tamamlanacak son argümanın, otomatik tamamlama eklemek istediğiniz komut dosyasının adı olduğunu unutmayın. Yapmanız gereken tek şey, otomatik tamamlama komut dosyanızı bashrc'ye eklemek
source /path/to/your/autocomplete.sh
veya /etc/bash.completion.d dosyasına kopyalayın.
Kaynak: /ubuntu//a/483149/24155