当前位置:首页 > CN2资讯 > 正文内容

linux ioremap函数 linux function

2天前CN2资讯

函数介绍

函数function是由若干条shell命令组成的语句块,实现代码重用和模块化编程

它与shell程序形式上是相似的,不同的是它不是一个单独的进程,不能独立运行,而是shell程序 的一部分 。

函数和shell程序比较相似,区别在于:

Shell程序在子Shell中运行,而Shell函数在当前Shell中运行。

因此在当前Shell中,函数可以对shell中变量进行修改。

 

定义函数

函数由两部分组成:函数名和函数体

语法一: function f_name { ...函数体... }

语法二: function f_name () { ...函数体... }

语法三: f_name (){ ...函数体... }   (此语法最为常用)

 

函数也分为本地函数和环境函数。

set 查看本地变量及本地函数

1 [root@mmmm(mei) bin]# set 2 BASH=/bin/bash 3 BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath 4 BASH_ALIASES=() 5 BASH_ARGC=() 6 BASH_ARGV=() 7 BASH_CMDS=() 8 BASH_LINENO=()

 

unset 变量名或函数名 取消变量或函数的定义
本地函数

1 [root@mmmm(mei) bin]# test () { echo hello world; return 2; } 2 [root@mmmm(mei) bin]# test 3 hello world 4 [root@mmmm(mei) bin]# unset test 5 [root@mmmm(mei) bin]# test 6 [root@mmmm(mei) bin]#

环境函数

declare -xf mage或export -f mage
查看环环境函数
declare -xf 或export -f

1 [root@mmmm(mei) bin]# declare -xf test 2 [root@mmmm(mei) bin]# declare -xf 3 [root@mmmm(mei) bin]# test () { echo hello world; return 2; } 4 [root@mmmm(mei) bin]# declare -xf test 5 [root@mmmm(mei) bin]# declare -xf 6 test () 7 { 8 echo hello world; 9 return 2 10 } 11 declare -fx test

 

函数使用

函数的定义和使用:

    (1)可在交互式环境下定义函数


1 [root@mmmm(mei) ~]# test () { 2 > echo hello world 3 > } 4 [root@mmmm(mei) ~]# test 5 hello world


 

(2)可将函数放在脚本文件中作为它的一部分


1 1 #!/bin/bash 2 2 test () { 3 3 echo hello world 4 4 } 5 5 test


 

在此需要注意一点:

        当我们需要使用函数时,直接使用函数名即可,函数名会被自动替换为函数代码 。

        但建议将函数部分的代码写在调用函数前面,使得在解释脚本时不报错。

(3)可放在只包含函数的单独文件中 ,可以在其他脚本中调用该文件的函数

 

函数是在被调用时创建,返回时终止。那么函数的返回值是什么呢?

函数的返回值也分为两种情况:
1.函数的执行结果返回值:

(1) 使用echo等命令进行输出

(2) 函数体中调用命令的输出结果

2.函数的退出状态码:

(1) 默认取决于函数中执行的最后一条命令的退出状态码


1 [root@mmmm(mei) bin]# test () { 2 > echo hello world 3 > } 4 [root@mmmm(mei) bin]# test 5 hello world 6 [root@mmmm(mei) bin]# echo $? 7 0


 

 

(2) 自定义退出状态码,

            其格式为: return  从函数中返回,用最后状态命令决定返回值

            return 0  无错误返回。

                   return 1-255  有错误返回     

1 [root@mmmm(mei) bin]# test () { 2 > echo hello world 3 > return 2 4 > } 5 [root@mmmm(mei) bin]# test 6 hello world 7 [root@mmmm(mei) bin]# echo $? 8 2

 

 

接下来我们举一个简单的小例子来介绍一些函数的用法

declare -i num=100 使num的赋值只在当前函数中有效,等于同local num=100

1 1 #!/bin/bash 2 2 test() { 3 3 declare -i num=$1 4 4 if [ $1 -le 1 ]; then 5 5 echo -e "hello\n" 6 6 else 7 7 echo no 8 8 echo $(test $[$num-1]) 9 9 10 10 fi 11 11 echo $num 12 12 } 13 13 test $1 14 14 echo $num 15 [root@mmmm(mei) bin]# testhanshu.sh 2 16 no 17 hello 1 18 2

 



    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/25413.html

    分享给朋友:

    “linux ioremap函数 linux function” 的相关文章

    如何高效管理Ubuntu服务器:从基础到高级的全面指南

    管理Ubuntu服务器是一个需要掌握多种技能的任务。从选择合适的Linux发行版到系统初始化,再到账号和权限管理,每一个环节都至关重要。以下是一些基础的管理技巧,帮助你更好地配置和管理Ubuntu服务器。 1.1 选择合适的Linux发行版 在国内,常用的Linux发行版有CentOS、Ubuntu...

    最佳Mac SSH连接工具推荐:轻松管理远程服务器

    随着远程工作和云计算的普及,SSH协议成为了连接服务器和管理远程设备的重要工具。在Mac上,有许多SSH连接工具可供选择,让我们来逐一了解它们的特点和应用场景。 SSH协议简介 SSH,即安全外壳协议,是一种用于安全登录远程主机的网络协议。它提供了一条加密的连接通道,确保数据在传输过程中的安全性。通...

    腾讯云学生福利:低价云服务助力学生云计算学习

    在当今信息技术飞速发展的时代,云计算已成为重要的学习与开发工具。腾讯云紧跟时代步伐,为学生群体量身定制了一系列服务和优惠政策。我很高兴看到这样一个平台,尤其是在我们学习云计算和相关技术的过程中,它为我们提供了极大的便利。 腾讯云的学生服务旨在帮助我们更好地学习和实践云计算技术。通过这些服务,学生能够...

    hncloud:助力企业数字化转型的云计算服务提供商

    在数字化浪潮席卷全球的今天,hncloud(华纳云)应运而生,成为一家备受瞩目的全球数据中心基础服务提供商。隶属于香港联合通讯国际有限公司的hncloud,凭借其在行业中的深厚积淀和技术实力,逐渐发展成为一颗闪耀于云计算领域的明星。作为APNIC和ARIN的会员单位,hncloud自有ASN号,为用...

    ColoCrossing:优质VPS与安全托管服务提供商解析

    在美国,ColoCrossing作为一家老牌且独立的服务器和托管服务提供商,一直以来以其优质的IT解决方案著称。这家成立多年的公司,致力于满足不同类型客户的需求,无论是面向亚太地区还是欧美市场,它都有相应的数据中心来支持各种使用场景。我个人觉得他们的服务理念是非常值得推崇的,特别是在稳定性和可靠性方...

    获取CloudCone优惠码,享受超值VPS主机折扣

    CloudCone 优惠码概述 在探索CloudCone之前,我想先聊聊关于优惠码的事情。CloudCone优惠码是指通过一些特定的方式获得的、可以享受价格折扣的代码。这些代码常常可以在购买VPS主机或其他服务时使用,帮助我节省一些开支。比如,有时候我能在优惠活动中找到让人心动的折扣,几乎是对我钱包...