Shell函数
写在前面
一个简单的 Shell 函数
#!/bin/bash
funciton hello() {
echo hello
}
hello
其它
链接
函数的定义
[ function ] function_name() {
do_something
[ return value ]
}
# []内为可选值
未显式指定 return,默认返回最后一条命令运行结果作为返回值,0 为成功,1 为失败
函数的返回值: 只能是整数
函数的参数
函数通过使用$n 的形式来使用参数
通过函数名 参数 1 参数 2 来传递函数参数
参数 | 说明 |
---|---|
$n | 获取第 n 个参数;当 n>=10 时,需要使用${n}形式 |
$# | 传递到函数的参数个数 |
$* | 显示传递的所有参数 |
$@ | 显示传递的所有参数 |
$? | 显示最后一条命令状态,0 为成功,1 为失败 |
$*与$@区别
- $*
#!/bin/bash
function diff(){
for i in $@; do
echo $i
done
for i in $*; do
echo $i
done
输出:
1
2
3
1
2
3
- $@
for i in "$@"; do
echo $i
done
for i in "$*"; do
echo $i
done
}
diff 1 2 3
输出:
1
2
3
1 2 3
结果分析:
$@ 与 $*无差异"$@"
将每个参数作为字符串返回, "$\*"
将参数整体作为字符串返回
函数的使用
# 无参数:
function_name
# 有参数
function_name 参数1 参数2
其他
函数定义在函数使用之间定义,Shell 是逐行执行的
comment:
- Valine
- LiveRe
- ChangYan