shell 函数定义和调用
为什么80%的码农都做不了架构师?>>>
一. 函数定义
语法:
[function] functionname[()]{action;[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255
#!/bin/shbuild(){echo $1, $2;return $(($1+$2))
}
build 5 7;total=$(build 3 2);echo $totle, $?
从上面这个例子我们可以得到几点结论:
1、必须在调用函数地方之前,声明函数,shell脚本是逐行运行。不会像其它语言一样先预编译。一次必须在使用函数前先声明函数。
2、total=$(fSum 3 2); 通过这种调用方法,我们清楚知道,在shell 中 单括号里面,可以是:命令语句。 因此,我们可以将shell中函数,看作是定义一个新的命令,它是命令,因此 各个输入参数直接用 空格分隔。 一次,命令里面获得参数方法可以通过:$0…$n得到。 $0代表函数本身。
3、函数返回值,只能通过$? 系统变量获得,直接通过=,获得是空值。其实,我们按照上面一条理解,知道函数是一个命令,在shell获得命令返回值,都需要通过$?获得。
二. 函数作用域
#!/bin/shecho $(uname);
declare num=1000;uname()
{echo "test!";((num++));return 100;
}
testvar()
{local num=10;((num++));echo $num;}uname;
echo $?
echo $num;
testvar;
echo $num;sh testfun2.sh
Linux
test!
100
1001
11
1001
我们一起来分析下上面这个实例,可以得到如下结论:
1、定义函数可以与系统命令相同,说明shell搜索命令时候,首先会在当前的shell文件定义好的地方查找,找到直接执行。
2、需要获得函数值:通过$?获得
3、如果需要传出其它类型函数值,可以在函数调用之前,定义变量(这个就是全局变量)。在函数内部就可以直接修改,然后在执行函数就可以读出修改过的值。
4、如果需要定义自己变量,可以在函数中定义:local 变量=值 ,这时变量就是内部变量,它的修改,不会影响函数外部相同变量的值 。
转载于:https://my.oschina.net/uabao/blog/498901
shell 函数定义和调用相关推荐
- matlab调用sh函数,Shell 函数定义与调用
linux shell 可以用户定义函数,然后在 shell 脚本中可以随便调用. 以一个计算两数之和的函数为例: #! /bin/bash # 函数定义 sum(){ return $(($1+$2 ...
- 函数使用(函数定义及调用方式、传参与返回参数、命名空间、装饰器)
函数定义及调用方式 一. 定义函数 1. 自定义函数的规则 • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以 ...
- shell函数定义、函数调用及函数返回值用法
1.函数定义 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 ...
- C++ Primer 第五版 第6章 6.1——函数及函数定义及调用习题答案
理论讲解请参考:C++ Primer 第五版 第6章 6.1 函数及函数定义及调用阅读笔记 目录 目录 6.1 形参和实参的区别 6.2 函数语法考察 6.4 交互式输入数字,计算阶乘 6.5 输出实 ...
- C++ Primer 第五版 第6章 6.1——函数及函数定义及调用阅读笔记
习题答案请参考:C++ Primer 第五版 第6章 6.1 函数及函数定义及调用习题答案 目录 6.1 函数基础 函数定义 函数调用 函数的形参和实参 函数的返回类型 局部静态对象 函数声明 头文件 ...
- Python编程基础:实验5——函数定义与调用
Python编程基础:实验5--函数定义与调用 文章目录 Python编程基础:实验5--函数定义与调用 一.前言 二.我的环境 三.实验目的与要求 四.实验任务 1.程序填空 2.程序编程 五.最后 ...
- python函数定义与调用
python函数定义与调用 python函数定义与调用 函数定义 函数参数 函数调用 ==**文章导航:==** python函数定义与调用 如果我们用代码实现了一个小功能,但想要在程序代码中重复使用 ...
- Python 函数定义与调用
☞☞☞点击查看更多优秀Python博客☜☜☜ Python 函数定义与调用 Python 函数定义与调用 函数的定义 函数的调用: ==**文章导航:==** Python 函数定义与调用 函数是组织 ...
- matlab函数定义和调用
Matlab函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Matlab提供了许多内建函数,比如disp().但你也可以 ...
最新文章
- 高速串行总线的设计基础(一)同步时序模型介绍
- 提高你30%的设计效率的PPT快捷键
- PW Live 直播 | 清华大学博士生岂凡超:义原知识库的应用和扩充
- JSON开发详解-张晨光-专题视频课程
- 关于Web面试的基础知识点--Html+Css(三)
- FastReport studio 动态加载数据集 (zhuan)
- html表格编辑器退出编辑状态,易优后台编辑器取消html标签(比如表格属性等)过滤解决方法...
- php百度搜索接口api,百度开放平台API调用
- socket多人聊天室c语言,WebSocket学习(一)——基于socket.io实现简单多人聊天室...
- java 小程序 自己学习
- 关于构建网络安全知识库方向相关知识的学习和思考
- c语言blackjack设计思路,写一个“BlackJack ”Java应用程序 该计划将测试你的逻辑思维。...
- 文字转语音:CyberBukit TTS for php 1.2.3
- 《穆斯林的葬礼》读后感
- h5微信授权php,接入微信授权
- 网站统计 开源 java_开源 java CMS - FreeCMS2.8 统计分析
- Artifact is deployed successfully
- 华为od一面面试算法
- python职业规划书范文_大学机器人工程专业职业生涯规划范文(8篇)
- java spit 点_如何在PyGame中按时间点增加精灵的spit