Linux-Noob Forums
howto create the 'service' command - Printable Version

+- Linux-Noob Forums (https://www.linux-noob.com/forums)
+-- Forum: Distro Noob (https://www.linux-noob.com/forums/forum-10.html)
+--- Forum: Gentoo (https://www.linux-noob.com/forums/forum-93.html)
+--- Thread: howto create the 'service' command (/thread-2533.html)



howto create the 'service' command - znx - 2005-07-27


I've always sort of liked the 'service' command that comes with redhat, so I created my own:

 

Create a file (as root) /usr/sbin/service



Code:
#!/bin/sh

set -e

/etc/init.d/$1 $2 $3




 

Done.. :)

 

Example usage:

 



Code:
service mysql start
service mysql stop
service sshd start




 

Always one for making completions I did this too, mind this is gentoo aimed a little (the secondary option)

 

Place this in ~/.bashrc or /etc/bash.bashrc (or /etc/bash_completion.d/service for gentoo users)



Code:
# a function for the autocompletion of the service command.

_service_fn()
{
# set some local variables
local cur prev

COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}

#if only one completion or a option is being requested
#then complete against various options
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W "$(ls /etc/init.d)" $cur ))
elif [ $COMP_CWORD -eq 2 ]; then
COMPREPLY=( $( compgen -W "start stop restart pause zap status ineed iuse needsme usesme broken" $cur ))
else
COMPREPLY=( $( compgen -f $cur ))
fi

return 0
}

#setup the completion
complete -F _service_fn service