我的编程空间,编程开发者的网络收藏夹
学习永远不晚

shell自定义函数的6个特点总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

shell自定义函数的6个特点总结

最近系统的学习了一下shell的函数,总体感觉根其他语言的函数差不多,不过它也有自身的特点

一,调用函数必须在定义函数的后,不然会报错的

fun

fun (){ echo "aaaaaa" }

fun

返回结果如下:

[root@krlcgcms01 mytest]# sh fun.sh

 fun.sh: line 1: fun: command not found       //第一次调用fun是报错的,fun没有定义

 aaaaaa                                       //第二次调用fum显示的结果

如果是php或者是javascript的话,就不会出现这样的问题

二,向shell函数传递参数很有特点

fun2 (){

 echo $0                      //$0本身文件名

 if [ $1 ]                    //参数为什么都是从$1开始呢,$0是本身文件名

 then

 echo "param1 is "$1

 else

 echo "param1 is null"

 fi

 if [ $2 ]

 then

 echo "param2 is "$2

 fi

}

fun2 aaa bbb //向fun2传2个参数 fun2 ccc //向fun2传1个参数 fun2 //不传参数

返回结果如下:

[root@krlcgcms01 mytest]# sh fun2.sh

pa.sh                     //第一次调用fun2,显示$0的值

param1 is aaa

param2 is bbb

pa.sh                     //第二次调用fun2,显示$0的值

param1 is ccc

pa.sh                     //第三次调用fun2,显示$0的值

param1 is null

这样的传参方式,很特别吧。

三,引用举例

reference ()

 {

 pa=$"$1"                      //$1显示的是param

 echo $pa                       //显示的是$param

 x=`eval "expr $pa "`           //x为test

 echo $1=$x                     //param=test

 local aaa=$x                   //定义局部变量

 bbb=$x                         //默认全局变量

 eval "$1='test been modified'"

 return 1   //最大返回整数257

 }

param="test" echo $param " is test"

reference param return_value=$? //返回值存放在$?里面 echo "return value is " $return_value echo $param " is not test"

return_value=$? echo "return value is " $return_value

echo "aaa = "$aaa //局部变量外面不能调用 echo "bbb = "$bbb

返回结果如下:

[zhangy@localhost zhangy]$ sh re.sh

test  is test

$param

param=test

return value is  1

test been modified  is not test

return value is  0

aaa =

bbb = test

从上面的这个例子,我总结以下几点:

1,传引用也挺特别的,function max(&$num_a,$num_b){}如果方法体中$num_a改变了的话,调用的变量也会改变。shell引用的思想差不多,但是形势不一样。
2,shell函数的返回值,只能是整形,并且在0-257之间。
3,在方法定义的变量,如果没有做特别声明,一般都是局部变量,而shell正好相反,局部变量要特别声明。
4,调用方法和取得返回值之间,不能有任何操作,不然取不到return的值。

结合前二个例子显示的特点,差不多有6个特点,肯定还有其他的一些特性,待大家补充。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

shell自定义函数的6个特点总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

shell自定义函数的6个特点总结

最近系统的学习了一下shell的函数,总体感觉根其他语言的函数差不多,不过它也有自身的特点 一,调用函数必须在定义函数的后,不然会报错的fun fun (){echo "aaaaaa"} fun返回结果如下:[root@krlcgcms01
2022-06-04

python自定义函数的特点有哪些

Python自定义函数的特点有以下几个:可重用性:自定义函数可以在程序的任何地方被调用和使用,提高了代码的复用性,避免了重复编写相同功能的代码。可扩展性:通过自定义函数,可以将复杂的代码逻辑封装在函数内部,使得程序结构更加清晰,便于维护和扩
python自定义函数的特点有哪些
2024-02-29

Android自定义view 你所需要知道的基本函数总结

Android自定义view 你所需要知道的基本函数 首先 往Canvas上面draw需要一个Paint。 画笔常用的函数有哪些呢。由于木有调试环境,函数基本上默写,有错请评论提出,蟹蟹!Paint p = new Paint(); //
2022-06-06

Python函数的定义、特点和使用技巧

本篇内容介绍了“Python函数的定义、特点和使用技巧”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!函数特点隐藏实现功能的细节重用代码提高可
2023-06-02

Shell实现的一些数学运算自定义函数分享

最近脚本中总是需要计算,每次都用awk会比较麻烦,就把awk的加减乘除封装了下,每次调用直接source math.sh就可以了。 有些要点要指出,以免以后修改的时候忘记: 1、对两个数字进行判断是否为数字,使用awk进行匹配 2、
2022-06-04

Linux下怎么编写和使用自定义的Shell函数和函数库

本篇内容主要讲解“Linux下怎么编写和使用自定义的Shell函数和函数库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下怎么编写和使用自定义的Shell函数和函数库”吧!在 Linu
2023-06-16

Echarts中常用的参数总结及参数自定义示例代码

Echarts中参数的配置功能很强大,对任何一项的配置都很细致,下面这篇文章主要给大家介绍了关于Echarts中常用的参数总结及参数自定义的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-18

使用golang自定义函数实现实现特定领域的语言

使用 go 语言自定义函数可扩展特定领域的语言,其步骤为:创建自定义函数,定义特定领域问题的可重用代码块。在程序中使用自定义函数,简化和优化代码。针对不同场景的需求,还可以创建更复杂的实战案例,例如处理 json 数据的自定义函数。使用 G
使用golang自定义函数实现实现特定领域的语言
2024-04-27

MySQL基础篇(03):系统和自定义函数总结,触发器使用详解

本文源码:GitHub·点这里 || GitEE·点这里一、系统封装函数MySQL 有很多内置的函数,可以快速解决开发中的一些业务需求,大概包括流程控制函数,数值型函数、字符串型函数、日期时间函数、聚合函数等。以下列出了这些分类中常用的函数。1、控制流程函数c
MySQL基础篇(03):系统和自定义函数总结,触发器使用详解
2016-07-21

小议Python中自定义函数的可变参数的使用及注意点

可变参数 Python的可变参数有两种,一种是列表类型,一种是字典类型。列表类型类似 C 中的可变参数,定义方式为def test_list_param(*args) :for arg in args :print arg其中 args 是
2022-06-04

php中怎么利用debug_backtrace自定义个基本的日志打印函数

小编给大家分享一下php中怎么利用debug_backtrace自定义个基本的日志打印函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
2023-06-15

Java如何使用用户自定义函数对数组中的每个元素做回调处理

Java中使用用户自定义函数对数组元素进行回调处理的步骤如下:定义用户自定义函数;创建数组;使用StreamAPI,通过lambda表达式或方法引用传递自定义函数;理解映射操作,将函数应用于每个元素。优势:可重用性:函数可重复使用,执行同一操作;灵活:自定义函数可定义特定操作;简洁:语法简洁;并行处理:提升大数组处理效率。
Java如何使用用户自定义函数对数组中的每个元素做回调处理
2024-04-02

PHP如何使用用户自定义函数对数组中的每个元素做回调处理

PHP中使用用户自定义函数对数组元素执行回调可利用array_map()函数。回调函数作为参数传递,执行特定操作,常用于类型转换、字符串处理、数组元素过滤、数学运算或创建新数组。该函数可同时处理多个数组,通过闭包或匿名函数传递更复杂的逻辑。array_map()简化了对数组每个元素进行自定义操作的任务,提供广泛的处理可能性。
PHP如何使用用户自定义函数对数组中的每个元素做回调处理
2024-04-02

编程热搜

目录