当前位置: 技术问答>linux和unix
linux编程:
来源: 互联网 发布时间:2017-04-17
本文导语: 问题:输入一正整数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...
问题:输入一正整数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")
麻烦大牛帮一下忙,刚开始学习。在线等。谢谢
!/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[ `expr$i%7`!="0" ];then
|
试试这样判断
if(($i%7==0))
if(($i%7==0))
|
哦,写错了
这样呢
if((i%7==0))
这样呢
if((i%7==0))
|
expr 是数值型的, "0" 是字符串 个人推测
1.[] 加空格(if后加 表达式与[之间也加)
2. 用eq不用"="
1.[] 加空格(if后加 表达式与[之间也加)
2. 用eq不用"="