계산 프로그램이 산술 테스트에 실패함

계산 프로그램이 산술 테스트에 실패함

이 매우 기본적인 스크립트에는 문제가 있습니다. 이 스크립트는 내 Macbook Pro에서는 Bash와 함께 작동하지만 Bash도 사용하는 Linux Mint 데스크탑에서는 작동하지 않습니다.

나는 그것이 무엇이 잘못되었는지 이해하지 못합니다.

bash에서 여전히 오류 메시지가 나타납니다.

line 6: [: -lt: unary operator expected
line 16: [: -gt: unary operator expected

다음 업데이트된 코드를 사용하세요.

#!/bin/bash
clear
counter=0

function countup {
while [ $counter -lt 500 ]
do
  ((counter++))
  echo $counter
  sleep 0.2
done
countdown
}

function countdown {
while [ $counter -gt 0 ]
do
  ((counter--))
  echo $counter
  sleep 0.2
done
countup
}

countup

답변1

이 시도:

#!/bin/bash
clear
counter=0

function countup {
    while [[ $counter -lt 500 ]]; do
        ((counter++))
        echo $counter
        sleep 0.2
    done

    countdown
}

function countdown {
    while [[ $counter -gt 0 ]]; do
        ((counter--))
        echo $counter
        sleep 0.2
    done

    countup
}

countup

[[ ]]할당되지 않은 변수에 더 강력합니다. 그러나 스크립트는 실행됩니다. 여기에 입력한 내용이 컴퓨터에 입력한 내용과 다른 것 같습니다. 이것도 영원히 카운트 업 및 다운되는 것처럼 보이지만 의도적인 것 같습니다.

관련 정보