linux脚本实现数组值相加


#!/bin/bash

function addarray {

  local sum=0   //局部变量只在函数内部有效,函数外部重新有sum的值时,运行脚本时显示函数外部的值

  local array

  array=($(echo"$@"))    

  for  value in ${array[*]}

    do

       sum=$[ $sum + $value ]

    done

    echo $sum

}

  myarray=(1,2,3,4,5,6)

  echo ''the orginal array is :${myarray[*]}''

  args1=$(echo ${myarray[*]})

  result=$(addarray $args1)     //将函数的输出赋给变量result,然后显示result的值,一种常用技术   ,另外这两行代码可以合并成一行:result=$(addarray ${myarray[*]})

  echo ''the sum is :$result''

 

 

linux中一些符号标记:$@ //将所有变量都保存为单独的词

                                     $* //将所有参数保存为一个字符串 ,这两个符号都是可以访问所有变量

                                    $#  //参数总数

                                    &-  //关闭文件

                                  > &2  //重定向到文件描述符,2为文件描述符

                                  &>  //将STDERR,STDOUT重定向到同一个文件

                                  $?   //确定函数退出状态码

 

遗留问题,怎样改进将数组的输入变为终端输入值?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM