Linux 如何在gpio上循环?

Linux 如何在gpio上循环?,linux,shell,embedded-linux,gpio,Linux,Shell,Embedded Linux,Gpio,如何使用gpio控制执行? 以下内容用于显示gpio63的输入值 echo 63 > /sys/class/gpio/export echo in > /sys/class/gpio/gpio63/direction cat /sys/class/gpio/gpio63/value 但我试过很多方法,比如 while [ /sys/class/gpio/gpio63/value = "1" ] do sleep 1 done 没有成功。您正在将字符串“/sys/clas

如何使用gpio控制执行? 以下内容用于显示gpio63的输入值

echo 63 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio63/direction
cat /sys/class/gpio/gpio63/value
但我试过很多方法,比如

while [ /sys/class/gpio/gpio63/value = "1" ]
do 
    sleep 1
done

没有成功。

您正在将字符串“/sys/class/gpio/gpio63/value”与字符串“1”进行比较。他们永远不会平等。如果您正在寻找一个“1”作为名为“/sys/class/gpio/gpio63/value”的文件的内容,您应该说

while [ "$(cat /sys/class/gpio/gpio64/value)" = 1 ]

您正在将字符串“/sys/class/gpio/gpio63/value”与字符串“1”进行比较。他们永远不会平等。如果您正在寻找一个“1”作为名为“/sys/class/gpio/gpio63/value”的文件的内容,您应该说

while [ "$(cat /sys/class/gpio/gpio64/value)" = 1 ]

您正在将字符串“/sys/class/gpio/gpio63/value”与字符串“1”进行比较。他们永远不会平等。如果您正在寻找一个“1”作为名为“/sys/class/gpio/gpio63/value”的文件的内容,您应该说
,而[“$(cat/sys/class/gpio/gpio64/value)”=1]
@AlanCurry,shell可以直接读取文件,而无需管道/fork/exec cat:
$(大型shell(zsh、ksh、bash)can.@AlanCurry:非常感谢。这是一个小型嵌入式linux shell。如果您复制您对某个问题的答案,我将接受它。您正在将字符串“/sys/class/gpio/gpio63/value”与字符串“1”进行比较。它们永远不会相等。如果您正在寻找一个“1”作为名为“/sys/class/gpio/gpio63/value”的文件的内容你应该说
而[“$(cat/sys/class/gpio/gpio64/value)”=1]
@AlanCurry这个shell可以直接读取文件,而无需pipe/fork/exec cat:
$(大shell(zsh、ksh、bash)可以)。@AlanCurry:非常感谢。这是一个小型嵌入式linux shell。如果你复制你对某个问题的答案,我会接受它。