bash脚本编程问题请教!【问题已经解决】

bash脚本编程问题请教!【问题已经解决】

shell编程:  写一个脚本,用一列整数作为他们的参数,并显示他们平方,并显示所有平方的和
#!/bin/bash
for ((i=1;i<=$#;i++))
do
a=$(($i**2))
echo $a
b=0
b=$(($a+$b))
done
echo $b

如何让$i不是取i的值
而是指运行脚本提供的参数?
比如i=1时候,让$i相当于$1
新手入门,请多关照@!@

      
问题已经解决
最终弄了这个代码
新手弄得细了点还请勿见笑了
呵呵
  #!/bin/bash
b=0
for ((i=1;i<=$#;i++))
do
k=$(eval echo \$$i)
a=$(($k**2))
echo $a
b=$(($a+$b))
done
echo $b      
短一点儿的:
引用:
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1735 $?=0] ; cat foo.sh
#!/bin/bash

sum=0
for n in $@; do
    echo $((nn = n ** 2))
    ((sum += nn))
done
echo $sum
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1735 $?=0] ; ./foo.sh 1 2 3 4
1
4
9
16
30
-(dearvoid@LinuxEden:Forum)-(~/tmp)-
[$$=1735 $?=0] ; bye
      
复制内容到剪贴板
代码:
$ set 1 2 3 4
$ echo $@ | sed 's/[0-9]\+/&^2;/g' | bc
1
4
9
16
$ echo $@ | sed 's/[0-9]\+/&^2;/g' | bc | xargs | tr ' ' '+' | bc
30
YY一个      
看不明白```慢慢学吧``