上でユーザーが実行した場合、raspbianストレッチはliteの9.1をリリースする権限拒否を返された - カーネルバージョン4.9.52+GPIOスクリプトはラズベリーパイ1でGPIOグループラズベリーパイ
私はラズベリーを経由して主導を点灯するシェルプログラムを作りましたpiのgpio(ファイル名はled.shです)。
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
}
私はgpioグループのユーザーとしてこれを実行しています。これらは、私は私のプログラムでを台無しにしようとしていますファイルです:
これは私がled.shを実行したときに何が起こるかです:
奇妙問題は、私はシェルでこれらのコマンドを1つずつ実行しても問題ありません。しかし、私はそれらを呼び出すスクリプトを実行すると、私はgpioグループにいるにもかかわらず、許可が拒否されます。最初に、シェルがコマンドを特別なユーザーとして実行し、echo $ EUIDをled.shにいくつかの場所で追加してチェックし、すべてが自分のユーザーIDを返したと考えました。
なぜこのプログラムはこれらのファイルに対する許可が拒否されていますか、どのように許可しますか/これを修正しますか?
スクリプトに実行可能ファイルをマークしましたか?つまり、 'chmod + x led.sh'が役に立ちます。これで解決したら、毎日尋ねられるようにこのQを削除してください。がんばろう。 – shellter
@shellterそれは問題ではありません、コメントいただきありがとうございます。 – secknv