Hallo! Ich habe ein komisches Problem an meinem Raspberry Pi. Ich habe ins Crontab eingetragen: @reboot /home/pi/startskript.sh Der Inhalt des Startskripts:
1 | #!/bin/bash
|
2 | |
3 | #Höchstens 80 Sek auf das Netzwerk warten
|
4 | t=0 |
5 | while [ "$(hostname -I)" = "" ]; do |
6 | sleep 1 |
7 | if [ "$t" -gt 80 ]; |
8 | then
|
9 | /usr/sbin/shutdown now |
10 | exit 1
|
11 | fi
|
12 |
|
13 | t=$((t+1)) |
14 | |
15 | done
|
16 | |
17 | #Ntfy Nachricht mit aktueller IP-Adresse inkl. Port
|
18 | /usr/bin/curl -d "http://$(ip route get 8.8.8.8 | awk -F"src " 'NR==1{split($2,a," ");print a[1]}'):5000" ntfy.sh/blabla |
19 | |
20 | #Hauptprogramm starten
|
21 | cd /home/pi/projekt && ./main |
22 | |
23 | exit 0
|
Führe ich das Skript normal aus dem Terminal aus, wird mir per ntfy die aktuelle IP-Adresse auf mein Handy gesendet und "main" gestartet. Starte ich den Pi neu, bekomme ich keine Nachricht auf's Handy, "main" wird aber sehrwohl gestartet, das Skript wird also nach dem Hochfahren ausgeführt. Wieso funktioniert der curl-Befehl nicht, wenn das Skript von CRON gestartet wird?? Was ich schon versucht habe: - Man liest oft, dass man absolute Pfade nehmen muss -> habe ich getan. - Habe auch schon versucht den langen komplizierten Befehl durch ein "hallo" zu ersetzen -> kein Effekt - Habe auch versucht die Anführungszeichen zu maskieren mit \"hallo\" -> auch dann kommt keine Nachricht am Handy an. Bitte um Hilfe und danke im Voraus!!