shell函数

shell函数一、shell函数【1】shell函数的格式(1)定义一个函数(2)全局声明函数【2】递归函数(1)定义(2)特点(3)举例说明二、shell数组【1】数组的作用【2】定义数组(1)数值类数组的定义(2)字符串类型数组(3)一般定义shell数组有四种写法:【3】shell数组的长度(1)数组元素、下标、长度之间的关系(2)数组长度的应用【4】冒泡排序法【5】数组的切片、替换、删除(1)数组的切片(2)数组的替换(3)数组的删除一、shell函数函数可以让我们将一个复杂功能划分成若干模块,
摘要由CSDN通过智能技术生成

一、shell函数

函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。

【1】shell函数的格式

(1)定义一个函数

[function] fun_name () {
命令序列
[retrun n] ########返回的是状态码
[echo n] ######返回的是值
}
fun_name #########调用函数

Shell 函数返回值只能是整数,一般用来表示函数执行成功与否,0表示成功,其他值表示失败。
如果 return 其他数据,比如一个字符串,往往会得到错误提示:“需要数字参数”。
调用函数只需要给出函数名,不需要加括号。如下所示:

[root@localhost opt]# vim hanshu1.sh
#!/bin/bash
function sum(){
  read -p "请输入加数:" num1
  read -p "请输入被加数:" num2
  sum=$(expr $num1 + $num2)
  [return abc]   #####中括号表示可有可无
  [echo $sum]
}
sum
#函数返回值在调用该函数后通过 $? 来获得
echo "返回值是:$?"
echo "和是:$sum"

[root@localhost opt]# sh hanshu1.sh 
请输入加数:45
请输入被加数:54
hanshu1.sh: 第 6 行:return: abc: 需要数字参数
返回值是:255  ####说明返回值是错的
和是:99
由于shell状态码最大是255,所以当返回值大于255时会出错

(2)全局声明函数

如果你希望直接从终端调用函数,可以将函数定义在主目录下的 .profile 文件,这样每次登录后,在命令提示符后面输入函数名字就可以立即调用

[root@localhost ~]# vim .bashrc (局部声明)
[root@localhost ~]# source .bashrc (更新)
[root@localhost ~]# vim /etc/profile
pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}
[root@localhost ~]# source /etc/profile

<

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值