Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Meu script n~ao funcionou

!/bin/bash

#

rc.local

#

This script is executed at the end of each multiuser runlevel.

Make sure that the script will "exit 0" on success or any other

value on error.

#

In order to enable or disable this script just change the execution

bits.

#

By default this script does nothing.

Print the IP address

_IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi

/home/pi/scripts/informaIP.sh exit 0

7 respostas

Oi Gustavo :),

isso pode estar acontecendo por alguns motivos.

Pode ser algo com o caminho de pastas do arquivo, garanta que o seu arquivo informaIP. sh está dentro da pasta scripts que está dentro da pi, que está em home.

Se o caminho estiver assim, abra o arquivo informaIP. sh e veja se está tudo correto dentro dele.

Caso o caminho e o conteúdo do arquivo estiverem corretos, uma pergunta, você chegou a reinicializar o raspberry (com reboot) antes de executar?

Oi Cássia. Obrigado pela resposta.

Ele está no caminho correto. Se o executo através do terminal, ele funciona. Rebootei pelo terminal e pela GUI. Você acha que alguma permissão de execução não está correta?

Obrigado

Imagine Gustavo,

poderia ser, mas presumo que você já deve ter dado o chmod u+x , certo?

Uma outra coisa que você pode fazer é adicionar ./informaIP.sh dentro de rc.local. Veja se isso funciona.

E quando você dá o boot tem algum erro, alguma mensagem ou nada acontece?

Eu consegui testar, separadamente, o rc.local. O arquivo funciona, não há algo errado com o seu conteúdo.

O problema é o reboot do SO que não está executando o arquivo rc.local. Não há mensagem de erro.

Não sei se consegui explicar.

Creio que conseguiu sim explicar Gustavo, :p

eu falei sobre adicionar o comando dentro do arquivo, pois quando o instrutor faz o script ele não coloca ./informaIP.sh dentro dele e essa pode ser uma das soluções para rodar no boot.

Uma outra solução poderia ser usar um arquivo config.autostart ao invés de usar o rc.local. Mas aí faria sentido tentarmos isso se mesmo com o comando dentro do rc.local ele ainda não executa.

solução!

Oi Cássia. Consegui resolver o meu problema.

Dentro do rc.local, incluí a linha

sleep 15

Antes da chamada do script.

Obrigado pela ajuda

Boa Gustavo!

Que bom que deu certo!

Disponha ^ ^

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software