300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux 变量函数返回值 linux shell 自定义函数(定义 返回值 变量作用域)介绍...

linux 变量函数返回值 linux shell 自定义函数(定义 返回值 变量作用域)介绍...

时间:2020-05-27 09:53:57

相关推荐

linux 变量函数返回值 linux shell 自定义函数(定义 返回值 变量作用域)介绍...

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。下面说说它的定义方法,以及调用需要注意那些事项。

一、定义shell函数(define function)

语法:

[ function ] funname [()]

{

action;

[return int;]

}

说明:

1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。

2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255

实例(testfun1.sh):

#!/bin/sh

fSum ;

function fSum()

{

echo $,$;

return $(($+$));

}

fSum ;

total=$(fSum );

echo $total,$?;

sh testfun1.sh

testfun1.sh: line : fSum: command not found

,

,

从上面这个例子我们可以得到几点结论:

1、必须在调用函数地方之前,声明函数,shell脚本是逐行运行。不会像其它语言一样先预编译。一次必须在使用函数前先声明函数。

2、total=$(fSum 3 2); 通过这种调用方法,我们清楚知道,在shell 中 单括号里面,可以是:命令语句。 因此,我们可以将shell中函数,看作是定义一个新的命令,它是命令,因此 各个输入参数直接用 空格分隔。 一次,命令里面获得参数方法可以通过:$0…$n得到。 $0代表函数本身。

3、函数返回值,只能通过$? 系统变量获得,直接通过=,获得是空值。其实,我们按照上面一条理解,知道函数是一个命令,在shell获得命令返回值,都需要通过$?获得。

二、函数作用域,变量作用范围

先我们看一个实例(testfun2.sh ):

#!/bin/sh

echo $(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!

我们一起来分析下上面这个实例,可以得到如下结论:

1、定义函数可以与系统命令相同,说明shell搜索命令时候,首先会在当前的shell文件定义好的地方查找,找到直接执行。

2、需要获得函数值:通过$?获得

3、如果需要传出其它类型函数值,可以在函数调用之前,定义变量(这个就是全局变量)。在函数内部就可以直接修改,然后在执行函数就可以读出修改过的值。

4、如果需要定义自己变量,可以在函数中定义:local 变量=值 ,这时变量就是内部变量,它的修改,不会影响函数外部相同变量的值 。

转自:/chengmo/archive//10/17/1853356.html

linux shell自定义函数(定义、返回值、变量作用域)介绍

/article/33899.htm linux shell自定义函数(定义.返回值.变量作用域)介绍 linux shell 可以用户定义函数,然后在shell ...

转 linux shell自定义函数(定义、返回值、变量作用域)介绍

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

Python函数的返回值和作用域

函数的返回值和作用域 1.返回值 def guess(x): if x > 3: return "> 3" else: retu ...

shell获取函数的返回值

背景:定义了一个函数,比对本地和线上服务器集群数量差别,想要获取不同集群的个数.shell和其他语言的函数返回值还是差别挺大的. 定义一个函数 functionname(){ 操作内容 ...

Python函数之返回值、作用域和局部变量

一.函数返回值 说到返回值,相信大家肯定都认识,没错,就是return. 所谓返回值可以这样理解:函数外部的代码要想获取函数的执行结果,就可以在函数里用return语句把结果返回. 那具体怎么用呢?接 ...

Linux shell 自定义函数

一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带functi ...

JavaScript函数定义和调用 变量作用域

本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 JavaScript中函数定义可以是这样的格式 function函数名(参数){ 函数体 } 也可以是这样的格式 ...

linux shell学习笔记二---自定义函数(定义、返回值、变量作用域)介绍

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ f ...

Shell入门教程:Shell函数的返回值

shell函数返回值一般有3种方式: 1.return语句(默认的返回值) shell函数的返回值可以和其他语言的返回值一样,通过return语句返回. 比如: #!/bin/bash functio ...

随机推荐

AFNetworking 3.0 源码解读(七)之 AFAutoPurgingImageCache

这篇我们就要介绍AFAutoPurgingImageCache这个类了.这个类给了我们临时管理图片内存的能力. 前言 假如说我们要写一个通用的网络框架,除了必备的请求数据的方法外,必须提供一个下载器来 ...

使用ueditor小结

1. 导入 js: ueditor.config.js ueditor.all.js css/images/plugin: themes lang dialog(可选) third-party(可选) ...

通过数据库表自动生成POJO(JavaBean)对象

主类: package bqw.tool; import java.util.ResourceBundle;import java.sql.DriverManager;import java.sql. ...

css显示省略号

white-space:nowrap;overflow:hidden;text-overflow:ellipsis;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。