七 shell函数

Linux shell可以用户定义函数,然后再shell脚本中可以随便调用

shell中函数的定义格式如下:

[function]  funname[()]

 {

   action

[return  int;]

}

说明  :  可以带function fun()定义,也可以直接fun()定义,不带任何参数

     参数可以返回,可以显示加:return,如果不加,将以最后一条命令运行结果,作为返回值 return后跟数值n(0-255)

#!/bin/sh

demoFun(){

echo "这是第一个shell函数"

}

echo "-----函数开始执行------"

demoFun

echo"---------函数执行完毕---------"

2 函数参数

在shell中,调用函数时可以向其传递参数.在函数体内部,通过$n的形式来获取参数的值,例如.$1 表示第一个参数,

#!/bin/bash
# author:菜鸟教程
# url:www.runoob.com

funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 $# 个!"
    echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73

输出结果

第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !

注意,$10不能获取第十个参数,获取第十个参数需要%{10}.当n>=10时,需要使用${n}来获取参数

注:$?也可以用来获取上衣步骤的输出结果值

#!/bin/bash
function demoFun1(){
    echo "这是我的第一个 shell 函数!"
    return `expr 1 + 1`
}

demoFun1
echo $?

function demoFun2(){
 echo "这是我的第二个 shell 函数!"
 expr 1 + 1
}

demoFun2
echo $?
demoFun1
echo 在这里插入命令!
echo $?

输出结果:

这是我的第一个 shell 函数!
2
这是我的第二个 shell 函数!
2
0
这是我的第一个 shell 函数!
在这里插入命令!
0

但是要注意$?可能输出的只是输出结果是否正确

#!/bin/bash

function demoFun1(){
    echo "这是我的第一个 shell 函数!"
    return `expr 1 + 1`
}

demoFun1
echo $?
echo $?

输出结果:

这是我的第一个 shell 函数!
2
0

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值