shell函数

一、函数

1.1、函数介绍

shell中允许将一组命令集合语句形成一段可用代码,这些代码块称为shell函数。给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能。

将完成一个功能的一段代码进行命名、封装

函数的优点:

  1. 代码模块化,调用方便,节省内存
  2. 代码模块化,代码量少,排错简单
  3. 代码模块化,可以改变代码的执行顺序

1.2、函数定义

 

语法一: 函数名 () { 代码块 return N } 语法二: function 函数名 { 代码块 return N } 函数中return说明: 1.return可以结束一个函数,类似于前面讲的循环控制语句break(结束当前循环,执行循环体后面的代码) 2.return默认返回函数中最后一个命令的退出状态,也可以给定参数值,该参数值的范围是0-256之间。 3.如果没有return命令,函数将返回最后一个Shell的退出值。

1.3、函数调用

  • 当前命令行调用
 

[root@zutuanxue shell04]# cat fun1.sh #!/bin/bash hello(){ echo "hello zutuanxue $1" hostname } menu(){ cat <<-EOF 1. mysql 2. web 3. app 4. exit EOF } [root@zutuanxue shell04]# source fun1.sh [root@zutuanxue shell04]# . fun1.sh [root@zutuanxue shell04]# hello 888 hello zutuanxue 888 MissHou.zutuanxue.cc [root@zutuanxue shell04]# menu 1. mysql 2. web 3. app 4. exit

  • 定义到用户的环境变量中
 

/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc [root@zutuanxue shell04]# cat ~/.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi hello(){ echo "hello zutuanxue $1" hostname } menu(){ cat <<-EOF 1. mysql 2. web 3. app 4. exit EOF } 注意: 当用户打开bash的时候会读取该文件

  • 脚本中调用
 

#!/bin/bash #打印菜单 source ./fun1.sh menu(){ cat <<-END h 显示命令帮助 f 显示磁盘分区 d 显示磁盘挂载 m 查看内存使用 u 查看系统负载 q 退出程序 END } menu //调用函数

二、练习案例

 

1、写一个系统监控脚本,用户调用脚本并可以交互得到用户希望得到的数据 2、出海打渔:某渔民从2000年1月1日开始,采用三天打渔、两天晒网的方式来工作,要求你写一个程序计算2000年后的 某一天渔民在干什么

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42421584

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值