2013-02-18 2 views
0

때까지 나는 사용자에게 숫자를 입력하는 옵션을 줄 때 그 숫자는 1로 계산됩니다. 나는 스크립트가 에코 라인을 입력 한 후 에코 값을 잃어 버렸기 때문에 잃어 버렸습니다. 하지만 현대 사용하여이 작업을 수행 1.까지 카운트 다운

#!/bin/bash 

COUNTER=100 
until [ $COUNTER -lt 1 ]; do 
read -p "Enter a number between 1-100: " COUNTER 
echo COUNTER $COUNTER 
let COUNTER-=1 
done 

답변

1

이동합니다 read를 참조하십시오

read -p "Enter a number between 1-100: " COUNTER  
until [ $COUNTER -lt 1 ]; do 
    echo COUNTER $COUNTER 
    let COUNTER-=1 
done 
1

에 그것을 시도 카운트 다운되지 않습니다

#!/bin/bash 

read -p "Enter a number between 1-100: " counter 

until ((counter < 1)); do 
    echo "counter $counter" 
    ((counter--)) 
done 
  • 이 성공적으로 수행 할 for loopread 외부를 넣어.
  • 기본적으로 UPPER CASE 변수 사용을 피하십시오. 전역 시스템 변수가 예약되어 있습니다.
  • ((...))-gt, -lt...보다 직관적이며 산술 명령이므로 표현식이 0이 아니면 종료 상태를 반환하고 표현식이 0이면 1을 반환합니다. 부작용 (지정)이 필요한 경우 "동의"와 동의어로 사용됩니다. 이 같은 루프에서 http://mywiki.wooledge.org/ArithmeticExpression