Tenho uma dúvida sobre como trabalhar com /etc/init.d
shell script.
Tudo o que quero fazer é excluir um arquivo de um comando dentro do script Shell, assim:
case $1 in
stop)
echo "Stopping"
rm -f /var/run/memcached/memcached.pid
esac
Eu salvo como teste e crio o memcached.pid
arquivo.
Quando executo /etc/init.d/test
stop com o script de dentro da /etc/init.d/
pasta, o memcached.pid
arquivo não é excluído.
Quando executo o script no meu diretório inicial, ele funciona bem.
Existe um formato ou estrutura especial do comando necessário?
Responder1
Use o caminho completo para rm; confirme se é o mesmo no seu sistema:
/usr/bin/rm -f /var/run/memcached/memcached.pid
Os scripts init não têm sua variável de ambiente PATH (ou raízes) definida normalmente.