2009-04-22 9 views
15

Me di cuenta de que el shell bash puede sugerir interruptores de línea de comando para su comando.¡Sorpresa! el shell sugiere interruptores de línea de comando

Simplemente escriba su comando, un guion (-) y escriba la pestaña. El shell le mostrará los interruptores disponibles.

Por ejemplo, trate de:

[email protected]:~$ java - 

y presiona el tabulador - Sorpresa!

Screenshot

La pregunta es:

¿Cómo interfaz con esta característica. Es decir, si escribo un programa que se ejecutará desde la consola, ¿cuál es la API para decirle al shell qué switches están disponibles?

+1

Hm ... mis costuras parecen carecer de esta característica. ¿Debo habilitarlo de alguna manera? – Burkhard

+0

Solo funciona si un comando está configurado para usarlo en /etc/bash_completion.d (vea la respuesta de MrX a continuación). Lo intenté también, con ls, y no funcionó, pero mirando en ese directorio veo que yast2 tiene un script de finalización de 100 líneas en uno de nuestros sistemas. Lotta trabaja para configurar esto! Podría ser agradable de hacer si está escribiendo una herramienta de Unix que mucha gente va a utilizar, pero no para el trabajo personal. Use --help with gnu utilities, en su lugar. –

Respuesta

6

Ver:

$ man bash 

En particular, la sección titulada "READLINE" y la subsección "programable finalización"

5

FYI: En Ubuntu y/o Debian los guiones están en /etc/bash_completion.d/

Cuestiones relacionadas