分页: 1 / 1

[讨论]这段shell script结果为何是这样的

发表于 : 2007-11-14 12:07
baoziji
#!/bin/bash
#this
number1=2*3+5*13-32+25
declare -i number2=2*3+5*13-32+25
echo "Your result is==>$number1"
echo "Your result is==>$number2"
~




hg@jk-laptop:~/test$ sh test03-declare.sh
test03-declare.sh: 4: declare: not found
Your result is==>2*3+5*13-32+25
Your result is==>
###应该是64呀,为什么什么都没有了呢

发表于 : 2007-11-14 12:31
eexpress
☎ ./tmp
Your result is==>2*3+5*13-32+25
Your result is==>64

你别sh xxxx了。缺省的sh,变dash了。都指定了#!/bin/bash的啊。

Re: [讨论]这段shell script结果为何是这样的

发表于 : 2007-11-21 23:00
TheChampionHeart
baoziji 写了:#!/bin/bash
#this
number1=2*3+5*13-32+25
declare -i number2=2*3+5*13-32+25
echo "Your result is==>$number1"
echo "Your result is==>$number2"
~




hg@jk-laptop:~/test$ sh test03-declare.sh
test03-declare.sh: 4: declare: not found
Your result is==>2*3+5*13-32+25
Your result is==>
###应该是64呀,为什么什么都没有了呢
应该是赋值语句的问题:
number=2×3+5×13-32+25 不行吧,它相当于吧字符串赋给了number了,用 $(expr)
第二个同理
看看我说的对不对?

发表于 : 2007-11-24 13:14
yuffey
OK

发表于 : 2007-12-07 17:05
liiiping
我试了一下,用
bash test03-declare.sh
就没问题。