#!/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重定向到同一个文件

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

 

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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
猜你喜欢
  • 2022-12-23
  • 2021-09-02
  • 2021-06-29
  • 2021-10-15
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案