Example 1: 函数和参数的赋值测试
#
!
/
bin
/
bash
function afunc
{
echo in function: $ 0 $ 1 $ 2
var1 = " in function "
echo var1: $ var1
}
var1 = " outside function "
echo var1 ( before doning function ) : $ var1
echo $ 0 : $ 1 $ 2
function afunc
{
echo in function: $ 0 $ 1 $ 2
var1 = " in function "
echo var1: $ var1
}
var1 = " outside function "
echo var1 ( before doning function ) : $ var1
echo $ 0 : $ 1 $ 2
#$0 始终是表示 bash 文件的执行名称
# $1,$2 表示第几个参数,函数和整个BASH是分开的.
afunc funcarg1 funcarg2
afunc funcarg1 funcarg2
#变量是全局变量,在函数中修改也会影响其值。
echo var1 ( after doning function ) : $ var1
echo $ 0 : $ 1 $ 2
echo var1 ( after doning function ) : $ var1
echo $ 0 : $ 1 $ 2
execute>./function.sh 12
var1
(
before doning function
)
: outside function
./ function . sh: 1 2
in function: ./ function . sh funcarg1 funcarg2
var1: in function
var1 ( after doning function ) : in function
./ function . sh: 1 2
./ function . sh: 1 2
in function: ./ function . sh funcarg1 funcarg2
var1: in function
var1 ( after doning function ) : in function
./ function . sh: 1 2
Example 2: 成员变量的使用:
#
!
/
bin
/
bash
function afunc
{
local var1
var1 = " in function "
echo var1: $ var1
}
var1 = " outside function "
afunc funcarg1 funcarg2
echo var1 ( after doning function ) : $ var1
#(var1 值并没有改变 )
function afunc
{
local var1
var1 = " in function "
echo var1: $ var1
}
var1 = " outside function "
afunc funcarg1 funcarg2
echo var1 ( after doning function ) : $ var1
#(var1 值并没有改变 )
结果:
var1: in function
var1(after doning function): outside function
Example 3: $#, $* and IFS
#
!
/
bin
/
bash
IFS =,
echo " $# args are: $* "
IFS =,
echo " $# args are: $* "
>./bash.sh one,two,threee
3 args are: one,two,three
Example4: 变量的完整写法:
完整的变量写法是 ${varname}