请教大家一个最简单关于shell脚本的所出现美元符号问题

脚本如下
#!bin/bash
declare -i testval=20
declare -i count=2
while (($count <= $testval));do
  ((result = $testval % $count))
  if(($result == 0));then  
  echo "testval is evenly divisible by $count"
  fi
  ((count++))
done

我想问的是这里面的result第一次出现为什么不加$?是因为赋值时候就不需要加$么?是不是针对算数运算以及逻辑判别的时候,变量前就需要加$?但是倒数第二行的count为什么可以不加$?
本人初学Linux shell,问题比较低级,见笑了..

作者: Dracula777   发布时间: 2011-06-16

来个人帮个忙回答下呗..

作者: Dracula777   发布时间: 2011-06-16

这就是shell的语法 你可以这样的理解
变量本身是count 加$就是为了引用count变量里保存的值 即$count是值

作者: steptodream   发布时间: 2011-06-16

各种语言里的变量本来就不尽相同 你分清就行了
比如
c,c++等语言 变量var 无论赋值还是使用都是var
shell编程里 变量var 赋值的时候var 取值的时候$var
perl或者php里 变量var 赋值取值的时候都是$var

作者: steptodream   发布时间: 2011-06-16

result第二次出现也可以不加$

(())里面的变量貌似可以不加$

作者: justkk   发布时间: 2011-06-16