Bash スタートキーボードインジケータが動作しない

Bash スタートキーボードインジケータが動作しない

特定の時間にキーボードライトが点灯するようにbashスクリプトを作成しました。しかし、私はまだそれを動作させていません。 「light」コマンドを確認しましたが、動作します。条件が満たされていることを確認するために、エコードアも含めましたが、すべてスキップしているようです。

「test」出力をファイルにプロットし、コマンドが作成されたため、スクリプトが正常に実行されたことを知っています。

私が間違っていることを知っている人はいますか?

愚かな質問なので申し訳ありません...

#!/bin/bash
currenttime=$(date +%H:%M)
echo test
if [[ "$currenttime" > "17:00" ]]; then
    if [[ "$currenttime" < "18:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 25
        echo 1
    fi
fi

if [[ "$currenttime" > "18:00" ]]; then
    if [[ "$currenttime" < "19:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 50
        echo 2
    fi
fi

if [[ "$currenttime" > "19:00" ]]; then
    if  [[ "$currenttime" < "20:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 75
        echo 3
    fi
fi

if [[ "$currenttime" > "20:00" ]]; then
    if [[ "$currenttime" < "06:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 100
        echo 4
    fi
fi

if [[ "$currenttime" < "07:00" ]]; then
    if [[ "$currenttime" > "06:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 50
        echo 5
    fi
fi

if [[ "$currenttime" > "7:00" ]]; then
    if [[ "$currenttime" < "17:00" ]]; then
        light -Srs "sysfs/leds/chromeos::kbd_backlight" 0
        echo 6
    fi
fi

ベストアンサー1

$currenttimeの値をテストするのではなく、$currentime値を持つ文字列をテストするだけです。 「$currenttime」の周りの引用符を削除する必要があります。

このように:

if [[ $currenttime > "17:00" ]]; then

しかし、cronjobでコマンドを実行する方が簡単かもしれません。このスクリプトを起動する方法はわかりませんが、cronjobで実行して毎分実行すると、毎分ライトプログラムに値を調整するように指示されます。必要な正確な設定時間でコマンドを実行する方が、より合理的です。

0 18 * * * light -Srs "sysfs/leds/chromeos::kbd_backlight" 25 >/dev/null 2>&1

0 19 * * * light -Srs "sysfs/leds/chromeos::kbd_backlight" 50 >/dev/null 2>&1

0 20 * * * light -Srs "sysfs/leds/chromeos::kbd_backlight" 100 >/dev/null 2>&1

0 6 * * * light -Srs "sysfs/leds/chromeos::kbd_backlight" 50 >/dev/null 2>&1

0 7 * * * light -Srs "sysfs/leds/chromeos::kbd_backlight" 0 >/dev/null 2>&1

編集する:

それとも、毎分スクリプトを実行して照明値を増やすことは(max_light_val / minutes_till_next_setting)楽しいでしょう。 :)

おすすめ記事