【linux脚本】函数和参数

如何定义一个参数?

function fname()

{

statements;

}

或者

fname()

{

statemants;

}

即可;

执行函数:

$ fname;#执行函数

传递参数:

$fname arg1 arg2 ;#传递参数

我们可以在函数中使用参数:

fname()

{

echo $1 $2 #打印第一个和第二个参数

echo “$@”#打印全部参数

echo “$*”#类似以$@ ,但是参数被作为单个实体

return 0; #返回值

}

特殊的,参数可以通过script进行调用----script:$1

$n是第n个参数

“$@” 是全部参数。

“$*” 类似”$@”,但因为参数个数是单数的,较不常用。

bash中的函数支持递归调用

f()

{echo $1

 f  Hello

 sleep1

}

这里我们可以了解一下fork bomb(fork 炸弹).详见下一章。

导出函数

函数也可以像环境变量一样用export 导出,这样,函数的作用域就可以扩展到子进程;

export -f fname

读取命令返回值(状态)

如果一个命令执行了,我们想知道到底有没有成功,用$?

例如:
ls /dev 

echo $?
如果ls 访问成功那么将返回打印0,否则打印非0

ls /root

echo $?

会打印非零

你可能感兴趣的:(linux,shell)