linux编程:
问题:输入一正整数n,打印1‐n之间的整数,要求去掉包含7的数字和7的整数倍的数字。
!/bin/sh
#inout a number n:
echo "please input a number:"
read line
i=1
for i in $line
do
if[`expr$i%7`!="0"];then
echo $i
else
while[$i!=0]
do
if[`expr$i%10`!=7]
i=`expr $i/10`
done echo $i
fi
i=`expr $i+1`
done
错误提示:
./second.sh: 8: ./second.sh: Syntax error: "then" unexpected (expecting "done")
麻烦大牛帮一下忙,刚开始学习。在线等。谢谢
------解决方案--------------------if 中括号 中间两边留空白了么?
if[ `expr$i%7`!="0" ];then
------解决方案--------------------试试这样判断
if(($i%7==0))
------解决方案--------------------哦,写错了
这样呢
if((i%7==0))
------解决方案--------------------expr 是数值型的, "0" 是字符串 个人推测
1.[] 加空格(if后加 表达式与[之间也加)
2. 用eq不用"="