Auf Himbeere pi 1, raspbian Stretch-lite Release 9.1 laufen - Kernel-Version 4.9.52+gpio Skript zurückgegeben verweigert die Erlaubnis, wenn durch den Benutzer auf gpio Gruppe Himbeere pi
Ich habe ein Shell-Programm leuchten eine führte über Himbeere pi's gpio (Dateiname ist led.sh). Es gibt einen Teil, wo ich mit einigen Dateien interagieren müssen:
function makeOn {
# status has value 1 if led is on and 0 if led is off
if [ $(status) -eq 1 ]; then
echo "led is already on"
else
#say we are using pin 18 and set it to output mode
echo "18" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio18/direction # this is line 38
# write output
echo "1" > /sys/class/gpio/gpio18/value # this is line 41
echo "led is on"
fi
}
ich dies als einen Benutzer in der gpio Gruppe leite. Dies sind die Dateien, die ich zu verwirren versuchen mit in meinem Programm:
Dies ist, was passiert, wenn ich led.sh laufen:
Die seltsame Die Sache ist, ich habe diese Befehle auf der Shell nacheinander ausgeführt und kein Problem. Aber wenn ich ein Skript verwende, das sie aufruft, bekomme ich eine Erlaubnis verweigert, obwohl ich in der GPIO-Gruppe bin. Zuerst dachte ich, dass die Shell Befehle als spezieller Benutzer ausführen könnte, und prüfte, indem ich an der led.sh an mehreren Stellen ein Echo $ EUID hinzufügte und sie alle meine Benutzer-ID zurückgaben.
Warum hat dieses Programm die Berechtigung für diese Dateien verweigert und wie kann ich das zulassen/beheben?
Haben Sie Ihr Skript als ausführbar markiert? h. chmod + x led.sh kann helfen. Wenn dies behoben wird, lösche bitte dieses Q, da es jeden Tag gefragt wird; - /. Viel Glück. – shellter
@shellter Das ist nicht das Problem, danke für den Kommentar. – secknv