#!/usr/bin/bash
num=(12345)
echo "${num[@]}"##输出数组的元素
array(){
factorial=1##默认是全局变量,在不同函数之间可以使用 若只是在函数内部生效加localfor i in"$@"
do
factorial=$[factorial * $i]
done
echo "$factorial"}
array ${num[@]}##or写成:array ${num[*]}## 获取数组的所有元素的值## $@,$*:表示所有参数## ./fun_array.sh-------------------------------------------------------------------------
直接写死的话:
num=(12345)
array(){
factorial=1##默认是全局变量,在不同函数之间可以使用 若只是在函数内部生效加localfor i in ${num[@]}
do
factorial=$[factorial * $i]
done
echo "$factorial"}
array
2.函数返回-输出数组变量
#!/usr/bin/bash
num=(123)
array(){
echo "all parameters: $*"
local newarray=('echo $*')## or local newarray=($*) 给局部数组赋值
local i ## $#:代表传入参数的个数for((i=0;i<$#;i++))
do
outarray[$i]=$((${newarray[$i]}*5))
done
echo "{$outarray[*]}"}
result=`array ${num[*]}`
echo ${result[*]}-------------------------------------------------------------------------
num=(123)
array()
a=55
local newarray=()
local i ## $#:代表传入参数的个数
local j
for i in $*
do
outarray[j++]=$[$i*5]
done
echo "{$outarray[*]}"##echo可以输出数组,也可以输出字符串}
result=`array ${num[*]};echo $a` ## 反引号``会在子shell执行
echo ${result[*]}
array ${num[*]}##会在当前的shell中执行
echo "a: $a"#函数接受位置参数:$1,$2,...$n#函数接收数组变量 $* 或 $@#函数将接收到的所有参数赋值给数组 newarray=($*)#函数使用参数的格式 $#