shell函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell函数相关的知识,希望对你有一定的参考价值。

为什么要用shell函数?

        简单地说函数的作用就是把程序里多次调用的相同的代码 ,定义成一份,然后起个名字,所有的调用都是只用这个名字就可以了。修改代码时,只需要改变函数体内的代码即可。

优势:

  • 把相同的程序段定义成函数,可以节省程序代码量

  • 增加程序的可读,易读性

  • 实现程序的功能模块化


shell函数语法

简单的语法:

函数名(){

    指令...

    return n

}


规范的语法:

function   函数名(){

    指令...

    return n

}


shell函数执行

调用函数:

1)直接执行函数名即可。注意,不要带小括号。

函数名

注意:函数体必须再要执行的函数名的前面定义

2)带参数的函数执行方法:

函数名   参数1   参数2  

【函数带参数的说明】

  • 在函数体重位置参数{$1,$2,$3,$4,$5,$#,$*,$?以及[email protected]}都是可以是函数的参数

  • 父脚本的参数则临时地被函数参数所掩盖或隐藏

  • $0比较特殊,他仍然是父脚本的名称

  • 当函数完成时,原来的命令行参数会恢复

  • 在shell函数里面,return命令的功能与工作方式与exit相同,用于跳出函数

  • 在shell函数体里使用exit会终止整个shell脚本

  • return语句会返回一个退出值给调用的程序


shell函数范例

范例1:开发脚本建立两个简单函数并调用执行

#!/bin/bash
xcn( ) {         #定义函数
echo "i am xcn"
}
xcn          #调用函数

执行结果:
[[email protected] ~]# sh fun01.sh 
i am xcn
#!/bin/bash
xcn( ) {
echo "i am xcn"
}
echo "`xcn`"   #打印函数
[[email protected] ~]# sh fun01.sh 
i am xcn


范例2:使用行数及函数传参,脚本传参实现,对任意指定URL判断异常

#!/bin/bash
function check_url( ){
curl -I -s $1|head -1 && return 0||return 1
}
check_url $1

测试结果:
[[email protected] ~]# sh check_web_by_fun.sh baidu.com
HTTP/1.1 200 OK


本文出自 “小菜鸟” 博客,请务必保留此出处http://baishuchao.blog.51cto.com/12918589/1942785

以上是关于shell函数的主要内容,如果未能解决你的问题,请参考以下文章

逆向及Bof基础实践

201555332盛照宗—网络对抗实验1—逆向与bof基础

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

20155307刘浩《网络对抗》逆向及Bof基础

20155311高梓云《网络对抗》逆向及Bof基础

20145301赵嘉鑫《网络对抗》逆向及Bof基础