获取所在函数名 shell_Shell编程-函数

头条号:浩渺烟波

Shell中的函数分为两种,一种是系统函数,一种是自定义函数

系统函数: basename,获取最后的文件名,如果第二个参数加上后缀就会去掉后缀

[root@VM_0_11_centos shell]# basename /root/training/shell/shell_for.shshell_for.sh[root@VM_0_11_centos shell]# basename /root/training/shell/shell_for.sh .shshell_for

系统函数: dirname 跟basename正好相反,返回的是初文件名以外的目录

[root@VM_0_11_centos shell]# dirname /root/training/shell/shell_for.sh/root/training/shell

自定义函数: 自定义函数的各式如下:

[function] functionName [()] {    具体逻辑    [return int]}

中括号里面的都是选的,也就是说可以不加,function可以不加,甚至函数名后面的括号也可以不加,但是要注意空格,返回值也可以不加,如果不加则默认是最后一条语句的结果作为返回值,return后面跟的是数值

调用的话直接functionName即可

怎么传参数呢?函数名括号后面是没有参数的。实际上传的时候直接在跟在调用的命令后面,函数体里面回去参数使用$n,记得在上几篇说过一个知识点$n可以获取命令行的参数,这里跟那里是一样的。$1表示第一个参数,$2表示第二个参数,依次类推,10之后用${10}.比如:

 getSum () {        SUM=$[$1+$2]        echo "sum = $SUM"        return $SUM}getSum 10 20echo $?

结果:

[root@VM_0_11_centos shell]# ./shell_fun.sh  sum = 3030

上面有一个$?,这个操作符是预定义变量表示的最后的执行状态,这个前面也说过,还有两个$$表示当前进程的pid,$!表示的是最后一个后台进程的pid。

未完待续!

参考:https://www.runoob.com/linux/linux-shell-func.html

6c84657140203c1330ff36afbc8b5e84.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值