如何在UNIX中使用while循环正确执行此代码?

时间:2015-04-07 19:05:07

标签: linux shell unix

echo -n "Enter a positive integer: "; read integer
  While [ $integer -gt 0 ]; do
    echo "$integer"
  done

我正在尝试在UNIX中编写符合以下条件的脚本:

  1. 将脚本命名为while.sh
  2. 要求用户输入正整数。您可以假设用户将输入正整数(不需要输入验证)。
  3. 使用while循环打印从0开始的所有整数,包括输入的整数。
  4. 前两个步骤很简单,但我无法正确执行第三步。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

这是您想要的脚本:

#!/bin/bash

echo -n "Enter a positive integer: "; read integer
while [ $integer -gt 0 ]; do
    echo "$integer"
    integer=`expr $integer - 1`
done

这是一个例子:

./while.sh 
Enter a positive integer: 10
10
9
8
7
6
5
4
3
2
1

答案 1 :(得分:0)

这是我提出的脚本。我可能已经将这一点用于文字,但是你的问题确实要求在输入的数字上显示0。

#! /bin/bash

i=0

echo -n "Enter a positive integer: "
read integer

while [ $integer -ge $i ]
 do
  echo "$i"
  ((i++))
done

以下是上面的输出:

Enter a positive integer: 11
0
1
2
3
4
5
6
7
8
9
10
11