service
Este script faz o trabalho que existe nos sistemas Red Hat, por padrão, que facilita muito a vida de administradores de sistemas e também de usuários. Ele adiciona aquela função "service [nome do serviço] [opção]" ao seu sistema, basta copiá-lo para o diretório /bin ou /sbin do seu sistema. Ah! É preciso torná-lo executável: "#chmod a+x service"
Descrição
Este script faz o trabalho que existe nos sistemas Red Hat, por padrão, que facilita muito a vida de administradores de sistemas e também de usuários. Ele adiciona aquela função "service [nome do serviço] [opção]" ao seu sistema, basta copiá-lo para o diretório /bin ou /sbin do seu sistema. Ah! É preciso torná-lo executável: "#chmod a+x service"
#!/bin/bash # Este adiciona a função: # "service <nome do serviço> <opção>" # ao seu sistema, basta copia-lo para o diretório /bin ou /sbin do seu # sistema. # Por exemplo, para parar o Apache fica assim: # #service httpd stop # # argumentos esperados ARGS= 2 # testando se foram passados dois argumentos if [ $# -lt $ARGS ] then # testando se o serviço existe if [ -e /etc/init.d/$1 ] then /etc/init.d/$1 $2 exit else echo -e "\e[31;1mErro: o serviço não existe no sistema\e[m" echo -e "\e[34;1mCaso o serviço exista você terá que manipula-lo sem o uso deste script\e[m" exit fi else echo -e "\e[31;1mErro: faltam argumentos! Ou não faram passados argumentos\e[m" echo -e "\e[34;1mFormas de uso:\n\t #service <nome do serviço> <opção>\e[m" echo -e "\e[34;1mOnde:\n\t <nome do serviço> é o nome do Daemon/Servidor que você deseja manipular.\e[m" echo -e "\e[34;1m\t<opção> é o comando que deseja passar ao Deamon/Servidor, por exemplo: start, stop ou restart.\e[m" exit fi
1) Ná definição da variável ARGS= 2 (Contém um espaço entre o '=' e o '2') o que gera o erro:
service_all.sh: line 12: 2: command not found
service_all.sh: line 16: [: 2: unary operator expected
** Para corrigir basta retirar esse espaço.
2) No IF que checa se foram passados 2 argumentos, está -lt (LessThan | "Menor que") ou seja ele executa se for passado para o script menos de 2 argumentos. O correto é -eq (Equal | "Igual") para que ele execute se forem passados 2 argumentos!
3) No erro gerado por falta de argumentos está escrito "faram" o correto é foram.
Msg.:Erro: faltam argumentos! Ou não faram passados argumentos
Espero ter ajudado!
Abraços.,
(Texugo) - Cléber.