0

私はOpenWRTを実行しているTPLinkルーターを使用しています。デバイスが起動したら、ntpサーバーからシステム時刻が更新されるまで1つのLEDをオンにします。

これが私のアプローチです:

#!/bin/sh

echo 0 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio0/direction
echo 1 > /sys/class/gpio/gpio0/value

currentDate=$(date +%s)

 while [ $currentDate < 1342016035 ]; do
                echo Time not updated yet
                currentDate=$(date +%s)
done

echo Time updated!

echo 0 > /sys/class/gpio/gpio0/value
echo 0 > /sys/class/gpio/unexport

実行すると、「。/ timescript.sh:11行目:1342016035を開けません:そのようなファイルはありません」というメッセージが表示されます。なぜこれが起こっているのか知っていますか?もう1つの質問は、これがまったく意味があるのか​​、それともループ中にプロセッサが占有されて時間を更新できないのかということです。

前もって感謝します!!

4

1 に答える 1

3

テストには、算術演算に-ltと-gtが必要です

#!/bin/sh

echo 0 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio0/direction
echo 1 > /sys/class/gpio/gpio0/value

currentDate=$(date +%s)

while [ $currentDate -lt 1342016035 ]; do
            echo "Time not updated yet"
            currentDate=$(date +%s)
done

echo "Time updated!"

echo 0 > /sys/class/gpio/gpio0/value
echo 0 > /sys/class/gpio/unexport
于 2012-07-11T14:39:27.803 に答える