Después de escribir sudo, ya no puedo autocompletar comandos presionando Tabulador

En una Terminal, si escribo el comienzo de cualquier comando presionando tabulador, puedo ver el resto de ese comando.

Sin embargo, esta función no funciona con las palabras que escribo después de sudo.

¿Cómo puedo completar los nombres de los comandos incluso después de escribir sudo?

Una forma sería escribir primero el comando, seguido de Ctrl-A para saltar al principio de la línea y luego escribir sudo.

Respuestas (3)

OS X no ha activado tantas posibilidades de finalización en los chicos detrás de Ubuntu. Para agregar autocompletado a sudo, simplemente debe agregar al archivo$HOME/.bash_profile

complete -cf sudo

La descripción completey sus opciones se definen brevemente en la bashpágina del manual de comandos integrados (ver man bash). Aunque los comandos -c y -f no están obviamente detallados, uno puede encontrar su descripción bajo la explicación de "acción -A".

Resolví mi problema instalando Bash Completion en Macports.

Sería útil saber qué shell está utilizando. Esto me funciona tanto en bash como en zsh. La finalización en zsh es mucho mejor que en bash.

Una cosa que podría hacer es escribir el comando que desea usando la función de completar con tabulación, pero antes de presionar regresar, escriba control-apara ir al principio de la línea y luego escriba sudoy presione regresar para ejecutar el comando.

Revisé terminal -> preferencias dice Login Shell. Creo que no estoy usando ningún caparazón especial. en realidad escribí /bin/bash y /bin/zsh ninguno de ellos ayudó a solucionar mi problema.
Haz lo que recomiendo en el segundo párrafo de mi respuesta. eso es lo mejor
sí, pero quiero usarlo como siempre lo hice en ubuntu, ¿hay alguna otra forma de hacerlo?