MotivationI have inherited several Bash installation scripts for our software developed in CertiCon. What a user could do was to call the following command in the terminal and the application behaved as requested. $ myApp start|stop|restart The magic was hidden in the keyword complete in a file called autocomplete_app.sh. autocomplete_app.sh complete -o nospace -F _myApp_autocomplete myApp complete -o nospace -F _myApp_autocomplete /opt/myApp/compose.sh AutocompletionBash auto completion is quite a well-known feature from user point of view.