값이 다른 값보다 크거나 같은지 확인하는 방법은 무엇입니까?

값이 다른 값보다 크거나 같은지 확인하는 방법은 무엇입니까?
#!/usr/bin/env bash
while true; do
    if xprintidle | grep -q 3000; then
      xdotool mousemove_relative 1 1
    fi
done

현재는 이 3000과 같은지 확인한 xprintidle다음 그렇다면 실행할 수 있습니다 xdotool. 하지만 xprintidle3000보다 크거나 같은지 확인한 다음 실행하고 싶습니다 xdotool. 어떻게 이를 달성할 수 있나요?

답변1

if [ $xprintidle -ge 3000 ]; then
  [...stuff...]

간단한 설명은 다음과 같습니다.

  • gt- 보다 큰
  • -보다 크거나 같음
  • $(...)괄호 안의 명령 출력이 됩니다.

답변2

당신이 사용할 수있는bash의 산술 확장정수를 직접 비교하려면 다음을 수행하십시오.

#!/usr/bin/env bash
while :; do
  (( $(xprintidle) >= 3000 )) && xdotool mousemove_relative 1 1
  sleep 0.5
done

단일 명령만 원한다면 &&간단한 방법입니다. 또는 다음을 사용하십시오 if.

#!/usr/bin/env bash
while :; do
  if (( $(xprintidle) >= 3000 )); then
    xdotool mousemove_relative 1 1
  fi
  sleep 0.5
done

sleep각 실행마다 0.5초 동안 일시 중지하도록 루프에 호출을 추가했습니다. 필요에 따라 조정합니다.

답변3

숫자가 다른 숫자보다 크거나 같다면 를 사용할 수 있습니다 -ge. 따라서 코드는 다음과 같습니다.

#!/usr/bin/env bash
while true; do
    if [[ $(xprintidle) -ge 3000 ]]; then
        xdotool mousemove_relative 1 1
    fi
done

관련 정보