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)재미있을 것입니다. :)

관련 정보