1.最近總結了 shell 中 function 的傳遞變量的幾種方式
1.傳遞單個變量
2.傳遞數組變量
#!/bin/bash
#trying to pass an variable.
function func()
{
echo "The number of parameters is: ${#}"
for line in "$@"
do
echo "$line"
done
}
function func2()
{
param1=("${!1}")
param2=("${!2}")
echo ${param1[*]}
echo ${param2[*]}
}
echo "****************************************************"
#1.pass simpl variable.
func "hello"
func "hello" "world"
func 1 2 3
#2.pass array variable
echo "*****************************************************"
array=(1 2 3)
strarray=(hello world)
echo "***************************************************"
func ${array[*]} ${strarray[*]}
func ${array[@]} ${strarray[@]}
echo "*****************************************************"
func2 array[@] strarray[@]
func2 array[*] strarray[*]
輸出結果如下:
****************************************************
The number of parameters is: 1
hello
The number of parameters is: 2
hello
world
The number of parameters is: 3
1
2
3
*****************************************************
***************************************************
The number of parameters is: 5
1
2
3
hello
world
The number of parameters is: 5
1
2
3
hello
world
*****************************************************
1 2 3
hello world
1 2 3
hello world