倒数直到

时间:2013-02-18 17:22:32

标签: bash

当我向用户提供输入数字的选项时,我得到了这个问题,该数字将被计数到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

2 个答案:

答案 0 :(得分:1)

尝试使用现代

#!/bin/bash

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

until ((counter < 1)); do
    echo "counter $counter"
    ((counter--))
done
  • read放在for loop之外,以便成功完成。
  • 默认情况下避免使用UPPER CASE变量,这是为全局系统变量保留的。
  • ((...))-gt, -lt...更直观,是一个算术命令,如果表达式非零,则返回退出状态0;如果表达式为零,则返回1。如果需要副作用(赋值),也用作“let”的同义词。请参阅http://mywiki.wooledge.org/ArithmeticExpression

答案 1 :(得分:1)

read移出循环,如下所示:

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