Why does terminal auto complete sometimes not suggest anything for the `services` command?
The degree to which auto-completion works is a function of how well the shell scripts in the bash-completion
package work.
In Ubuntu 14.04, the script that handles completions for service
is in /usr/share/bash-completion/bash_completion
. It looks for service names as files in /etc/rc.d/init.d
and /etc/init.d
, and in the output of systemctl list-units --full --all
.
But installing the vsftpd
package doesn't put any files in /etc/init.d
, because it has been systemd
-ified; it puts a config file in /etc/systemd/system/vsftpd.service
. systemctl list-units
would find that file if not for the fact that Ubuntu, at the present time, doesn't include a systemctl
command.
So, at the moment, you won't get auto-completions for service vsftpd
, but you will for most other services, since their config files are in /etc/init.d
.
When there are multiple possible suggestions, tab will not produce any suggestion. Using tab tab (double tab) will produce a list of all possible suggestions.
vsftpd has probably more than 1 option. tab twice to view the possibilities.
Example: li
with tabtab shows:
libnetcfg line lintian-info lispmtopgm
libreoffice linguist linux32 listres
lightdm link linux64
lightdm-session lintian linux-boot-prober