关闭

shell入门之函数应用

标签: linuxubuntu函数式
928人阅读 评论(0) 收藏 举报
分类:

最近在学习shell编程,文中若有错误的地方还望各位批评指正。

先来看一个简单的求和函数


#!/bin/bash
#a test about function
f_sum 7 8
function f_sum(){
   return $(($1+$2));
}
f_sum 3 5;
total=$(f_sum 3 6);
echo $total,$?;

这里写图片描述


注意几个问题:
1.shell是逐行执行,所以要在函数声明之后才可调用,否则会有错误
2.我们要获得函数的返回值只能通过$?来获得,不可以通过变量拿到返回值。


再看看关于变量作用域的测试:

#!/bin/bash
#a test about function
echo $(uname)
num=100
uname(){
   echo "my name is lenve"
   ((num++))
   return 250
}
changeVar(){
  local num=20
   ((num++))
   echo $num
}
uname;
echo $?
echo $num;
changeVar;
echo $num;

输出:
这里写图片描述


要点:
1.第一个输出Linux是第一行代码执行的结果,这是调用了系统函数
2.调用uname,系统会优先调用这个脚本中的函数,找到了直接调用,找不到再找系统函数。于是输出my name is lenve
3.250是uname函数的返回值
4.101是由于num在uname函数中自增1导致的
5.21表示如果函数中定义了与函数外部同名的变量,函数内部使用的是内部定义的变量而不是全局变量
6.101进一步佐证了第5点


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Shell脚本入门之一——HelloWorld

备注:本人使用cent-os 64位虚拟机,学习中主要阅读《鸟哥的私房菜》,自己对相关内容根据自己的理解进行重新整理。 Shell Script简介     ​Shell Script:She...
  • fuli_mouren
  • fuli_mouren
  • 2015-08-02 11:22
  • 1786

csh shell编程入门

TCSH shell不同于其他的shell,因为控制结构更符合程序设计语言的格式.例如TCSH 的test条件的控制结构是表达式,而不是linux命令,得到的值是逻辑值true或false,TCS...
  • Augusdi
  • Augusdi
  • 2016-10-20 12:44
  • 2141

VS2013/MFC编程入门之三(MFC应用程序框架分析)

上一讲讲的是VS2013应用程序工程中文件的组成结构。这一节就为大家分析下MFC应用程序框架的运行流程。        一.SDK应用程序与MFC应用程序运行过程的对比     ...
  • zhaoyinhui0802
  • zhaoyinhui0802
  • 2016-11-23 10:12
  • 2671

Shell脚本入门(十) - 函数

Shell脚本里面也可以定义函数,我们这就来学习下函数
  • jolingogo
  • jolingogo
  • 2014-10-21 16:03
  • 915

shell编程中函数的应用

函数: 代码复用 库:so 定义函数: 结构化编程,不能独立运行,需要调用时执行, function 函数名 { command } 函数名 FUNCNMAE () { comma...
  • momomumu123
  • momomumu123
  • 2015-08-11 16:32
  • 163

Windows下C语言多线程函数_beginthread简单入门应用例子

有时候我们在Windows下使用C语言进行一些小工程编写的时候,需要用到并行程序设计的知识。但是一般情况下,我们学习C语言都很少接触并行程序的设计,对我而言,更加习惯使用Java的并行程序设计。最近学...
  • tianzry
  • tianzry
  • 2017-03-13 22:21
  • 400

oracle从入门到精通 之 六.函数,动态sql,游标在实际中的应用

----取扩展字段函数—————————————————————————————— create or replace function BRField(end2guid   varchar2,   ...
  • yusiyuuestc
  • yusiyuuestc
  • 2013-12-20 23:25
  • 454

shell(1):shell基础及函数,字符串,if,while,时间处理等应用

提供给新手的shell帮助:文档 注意事项: 1.赋值的时候等号两边不能有空格 2.写[[]]和(()) 一定要注意前后中间都有空格 Shell中各种用法 -...
  • wentianyao
  • wentianyao
  • 2016-03-09 16:25
  • 649

shell(2):shell中关于if,while,输入参数,函数,c++进程等相关知识应用汇集事例

#!/bin/bash #开始时间"2016-03-17 20:00:00" #############################################################...
  • wentianyao
  • wentianyao
  • 2016-03-08 17:50
  • 322

Scala入门之部分应用函数与偏函数

Scala入门之部分应用函数与偏函数 标签: scala函数 2016-08-10 13:43 332人阅读 评论(0) 收藏 举报 本文章已收录于: ...
  • HFUTLXM
  • HFUTLXM
  • 2017-06-27 14:52
  • 82
    个人资料
    • 访问:1767686次
    • 积分:18096
    • 等级:
    • 排名:第606名
    • 原创:320篇
    • 转载:1篇
    • 译文:2篇
    • 评论:931条
    更多JavaEE资料请关注公众号
    博客专栏
    最新评论