Completar automáticamente los argumentos de la línea de comando

En bash, los ejecutables como mplayer y "convert" de imagemagick tienen una funcionalidad genial de autocompletar en sus argumentos de línea de comando. Por ejemplo, si escribo

mplayer <tab><tab>

en una de mis carpetas de video, mplayer enumerará todos los archivos multimedia ubicados en esa carpeta y solo los archivos multimedia.

Del mismo modo, si escribo

convert -<tab><tab>

luego veré todas las opciones posibles del script de conversión, lo cual es genial.

Mi pregunta es cómo lograr una funcionalidad similar, usando scripts bash, ruby o python.

Respuestas a la pregunta(3)

Su respuesta a la pregunta