Para Bash, você pode usar o recurso Bash Completion. Instale o pacote bash_completion da sua distro. Há boas chances de que você tenha a conclusão dos scripts /etc/init.d já. Se não, você pode ler como completar você mesmo ao redor da rede. Aqui está um link .
Outra maneira é usar funções predefinidas como estas:
if [[ ${EUID} == 0 ]] ; then # available only for root user
# rc scripts managing
rc() { /etc/init.d/$*; }
complete -o filenames -W "$(cd /etc/init.d/ && echo *)" rc
rc-start() { for arg in $*; do rc $arg start; done }
rc-restart() { for arg in $*; do rc $arg restart; done }
rc-stop() { for arg in $*; do rc $arg stop; done }
rc-status() { for arg in $*; do rc $arg status; done }
fi
Aqui você pode usar o comando rc
para chamar os scripts init.d como: rc apache2 start
. Isso irá traduzir para /etc/init.d/apache2 start
. O comando também tem autocompletar os arquivos no diretório init.d
, ou seja, quando você digita: rc apa[TAB]
, será preenchido automaticamente em rc apache2
.
Os outros comandos curtos são para conveniência: rc-start apache2
chamará rc apache2 start
e, portanto, /etc/init.d/apache2 start
Editar: você pode alterar o caminho /etc/init.d para /etc/rc.d se sua distro estiver usando o rc.d para serviços.