我正在尝试做类似的事情:
while[$read!="0"];
在这个程序中
#!/bin/sh
i=0
cont=0
while[$read!="0"]; do
read number
cont=`expr $cont + $number`
i++
done
cont=`expr $cont / $i -1`
echo
当我给它一个0时,我想停止对这些条目求和 TNX
答案 0 :(得分:2)
您正在阅读的变量是$number
,因此请在循环中引用而不是$read
。
空格很重要,因此请确保在循环中的所有项目之前,之后和之间包含空格。 (令人困惑的是,您必须不在i=0
等作业语句中包含空格。i = 0
是错误的。)
为了更好地衡量,请在变量周围使用双引号。这是一个很好的做法,这样如果用户点击输入而不键入数字,那么你的脚本就不会对空字符串进行barf。
while [ "$number" != "0" ]; do
此外,您的i++
不对。有多种方法可以写出来,最简单的方法是:
let i++
答案 1 :(得分:0)
在这种情况下,无限循环是合适的,因为你知道你想要(提示)break
离开循环的条件。在sh中获得无限循环的方法是:while true; do ...; done
此外,read
有一个-p
选项,可让您提示(因此您知道要求您输入的内容):read -p "Enter a number: " number