array-function.sh

来自「Shall高级编程」· Shell 代码 · 共 55 行

SH
55
字号
#!/bin/bash# array-function.sh: Passing an array to a function and...#                   "returning" an array from a functionPass_Array (){  local passed_array   # Local variable.  passed_array=( `echo "$1"` )  echo "${passed_array[@]}"  #  List all the elements of the new array  #+ declared and set within the function.}original_array=( element1 element2 element3 element4 element5 )echoecho "original_array = ${original_array[@]}"#                      List all elements of original array.# This is the trick that permits passing an array to a function.# **********************************argument=`echo ${original_array[@]}`# **********************************#  Pack a variable#+ with all the space-separated elements of the original array.## Note that attempting to just pass the array itself will not work.# This is the trick that allows grabbing an array as a "return value".# *****************************************returned_array=( `Pass_Array "$argument"` )# *****************************************# Assign 'echoed' output of function to array variable.echo "returned_array = ${returned_array[@]}"echo "============================================================="#  Now, try it again,#+ attempting to access (list) the array from outside the function.Pass_Array "$argument"# The function itself lists the array, but...#+ accessing the array from outside the function is forbidden.echo "Passed array (within function) = ${passed_array[@]}"# NULL VALUE since this is a variable local to the function.echoexit 0

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?