6

In a Terminal, if I type beginning of any command by pressing tab I can see the rest of that command.

However this feature does not work with any words I type after sudo.

How can I complete command names even after I write sudo?

1
  • 2
    One way would be to write the command first, followed by Ctrl-A to jump to the beginning of the line and then type sudo.
    – nohillside
    Commented Feb 15, 2013 at 20:50

3 Answers 3

13

OS X has not turned ON as many completion possibilities at the guys behind Ubuntu. In order to add autocompletion to sudo, you should simply add to the file $HOME/.bash_profile

complete -cf sudo

The description of complete and its options is briefly defined in the bash built-in commands manual page (see man bash). Although the -c and -f commands are not obviously detailed, one can find their description under the "-A action" explanation.

0
3

I did fix my problem by installing Bash Completion on Macports.

1

It would help to know what shell you are using. This works for me in both bash and zsh. The completion in zsh is much better than bash.

One thing you could do is to type the command you want using tab completion, but before hitting return type control-a to go to the beginning of the line and then type sudo and hit return to execute the command.

3
  • I checked terminal -> preferences it says Login Shell. I think I'm not using any special shell. actually I wrote /bin/bash and /bin/zsh none of them helped to fix my problem. Commented Feb 15, 2013 at 21:17
  • Do what I recommend in the second paragraph of my answer. That is best.
    – Ɱark Ƭ
    Commented Feb 15, 2013 at 21:24
  • 1
    yeah but I wanna use it like as I always did in ubuntu is there any other way to do that ? Commented Feb 15, 2013 at 21:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .