首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

linux编程:解决方案

2013-09-18 
linux编程:问题:输入一正整数n,打印1‐n之间的整数,要求去掉包含7的数字和7的整数倍的数字。!/bin/sh#inout

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不用"="

热点排行