function testFunc(){ echo "In function:" echo "$0=$0" echo "$1=$1" }
testFunc "test test" [root@target ~]# bash test.sh test.sh In function: $0=test.sh $1=test test 二、函数内定义的变量(如果不是必须要修改全局变量的话)尽量使用local关键字定义成局部变量,以免覆盖全局变量值 [root@target ~]# cat local.sh #!/bin/bash
TESTDATA="Hello world." TESTDATA1="Hello shell."
function localFunc(){ TESTDATA="Hello python." local TESTDATA1="Hello PHP." echo "In function:" echo "$TESTDATA=$TESTDATA" echo "$TESTDATA1=$TESTDATA1" }
#call function localFunc
echo "Out of function:" echo "$TESTDATA=$TESTDATA" echo "$TESTDATA1=$TESTDATA1" [root@target ~]# bash local.sh In function: $TESTDATA=Hello python. $TESTDATA1=Hello PHP. Out of function: $TESTDATA=Hello python. $TESTDATA1=Hello shell. 三、函数内使用return 关键字返回一个0-255的值,表示该函数退出状态码(即该函数是否执行成功),0表示执行成功,非0表示失败。在日常工作中,可以根据条件使函数返回是否执行成功,供其他程序做判断使用。若需要函数返回一个结果值,并存储到一个变量中,要使用echo语句。 [root@target ~]# cat return.sh #!/bin/bash