shell之函数(代码片段)

guge-94 guge-94     2022-12-19     313

关键词:

前言

  Shell 函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接调取即可。Shell 中的函数和C++、Java、Python、C# 等其它编程语言中的函数类似,只是在语法细节有所差别。

 

函数定义

Shell 函数定义的语法格式如下:

function name() 
statements
[return value]

 

语法说明:

  • function是 Shell 中的关键字,专门用来定义函数;
  • name是函数名;
  • statements是函数要执行的代码,也就是一组语句;
  • return value表示函数的返回值,其中 return 是 Shell 关键字,专门用在函数中返回一个值;这一部分可以写也可以不写。
  • 由 包围的部分称为函数体,调用一个函数,实际上就是执行函数体中的代码。

 

函数简写

如果你嫌麻烦,函数定义时也可以不写 function 关键字,如下:

name() 
statements
[return value]

 

如果写了 function 关键字,也可以省略函数名后面的小括号,如下:

function name 
statements
[return value]

我建议使用标准的写法,这样能够做到“见名知意”,一看就懂。

 

函数调用

调用 Shell 函数时可以给它传递参数,也可以不传递。如果不传递参数,直接给出函数名字即可

name

 

如果传递参数,那么多个参数之间以空格分隔

name param1 param2 param3

 

不管是哪种形式,函数名字后面都不需要带括号。和其它编程语言不同的是,Shell 函数在定义时不能指明参数,但是在调用时却可以传递参数,并且给它传递什么参数它就接收什么参数。Shell函数必须先定义再调用,和其他语言是不一样的。

 

示例

#!/bin/bash
function getsum()
    local sum=0
    for n in [email protected]
    do
         ((sum+=n))
    done
    return $sum


getsum 10 20 55 15 #调用函数并传递参数
echo $?

linux之shell编程(11)--shell函数实例演示(代码片段)

一.Shell函数介绍前言前面讲了Shell中的一些基础内容,还没有看过的同学可以看我往期的文章,因为那些内容是Shell函数的前提。另外,Shell函数我会着重讲解,会有很多系列,也会有很多实例演示,让大家... 查看详情

运维linuxshell编程之函数使用(代码片段)

前言使用linux的shell编程,可以说函数是非常重要的内容,也是在编写各类shell脚本的时候经常用到的,本篇将介绍下函数相关的使用。shell函数分类系统函数自定义函数系统函数系统函数为linux自带的函数,可以在shell... 查看详情

acwinglinux基础课笔记shell语法(代码片段)

...法之test命令与判断符号[]shell语法之判断语句shell语法之函数shell语法之exit命令shell语法之文件重定向shell语法之引入外部脚本声明学算法就上AcWing,现在学工程,也上AcWing 查看详情

shell学习高级编程之函数(代码片段)

函数无参无返回值函数下面编写一个无参数无返回值的Shell函数#!/bin/bash#author:Nickwu#date:2018-12-14#fileName:test.shfunctionfunc1echo"Thisisanexampleofafunction"#使用函数,直接调用函数名即可func1将文件授权可执行chmodu+xtest.sh,... 查看详情

linux系统shell脚本之用户管理脚本实战(代码片段)

...本1.正确执行脚本2.错误执行脚本一、脚本要求1.使用usage函数,列出该脚本的帮助选项2.检查该脚本的执行用户,若非root用户,直接退出3.该脚本可以管理用户的创建、删除,用户组的相关管理,用户的密码更改,用户的信息输... 查看详情

shell命令-线上查询及帮助之manhelp(代码片段)

...使用帮助,还可以查看软件服务配置文件、系统调用、库函数等的帮助信息。man命令的功能说明man命令用于查看命令的帮助信息。man命令的语法格式man[参数选项]命令/文件man命令的选项说 查看详情

shell之创建文件及内容(代码片段)

shell之创建文件夹:[[email protected]nginxshell_command]#vimkdir.sh#!/bin/shparentDir=$1fileName=$2dirAndName=$parentDir/$fileNameif[!-d"$dirAndName"];thenmkdir$dirAndNameecho"创建文件夹成功"elseecho"文件夹已经存在"f 查看详情

linux之shell编程(代码片段)

简介shell脚本执行方式Shell是一个用C语言编写的程序,通过Shell用户可以访问操作系统内核服务。它类似于DOS下的command和后来的cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。Shellscript是一种为shell编写的脚本程... 查看详情

linux之shell编程(代码片段)

简介shell脚本执行方式Shell是一个用C语言编写的程序,通过Shell用户可以访问操作系统内核服务。它类似于DOS下的command和后来的cmd.exe。Shell既是一种命令语言,又是一种程序设计语言。Shellscript是一种为shell编写的脚本程... 查看详情

大数据之shell-shell概述(代码片段)

大数据之shell-第一章shell概述大数据程序员为什么要学习Shell呢?需要看懂运维人员编写的Shell程序。偶尔会编写一些简单Shell程序来管理集群、提高开发效率。Shell是一个命令行解释器,它接收应用程序/用户命令,然... 查看详情

web安全之系统命令执行漏洞(代码片段)

常用的系统命令执行函数system()#输出并返回最后一行shell结果。exec()#不输出结果,返回最后一行shell结果,所有结果保存到一个返回数组里。passthru()#只调用命令,把命令的运行结果原样地直接输出到标准输出设备上... 查看详情

linux之shell命令(代码片段)

https://blog.csdn.net/shang_feng_wei/article/details/90378017linux之shell命令——条件判断(&&||test)&&和||&&:用来执行条件成立后执行的命令||:用来执行条件不成立后的执行命令test命令test命令通常做判断& 查看详情

linux之shell脚本(代码片段)

1)如何向脚本传递参数?./scriptargument例子:显示文件名称脚本?1234./show.shfile1.txtcatshow.sh#!/bin/bashecho$1(LCTT译注:谢谢某匿名访客的提醒,原题有误,修改之。)2)如何在脚本中使用参数?第一个参数:$1,第二个参数:$2例子:脚本会复制... 查看详情

linux之shell脚本编程(代码片段)

Linux之shell脚本编程编程介绍shell介绍shell脚本编程介绍shell脚本命令shell编程基础知识编程介绍计算机编程的本质:输入、运算、输出编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文... 查看详情

shell编程之变量定义(代码片段)

shell编程之变量定义变量介绍变量定义变量分类本地变量环境变量全局变量内置变量扩展:其他变量变量取值变量介绍计算机中的单位: 1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB 1EB=1024TB b:... 查看详情

[shell]尚硅谷大数据技术之shell--笔记(代码片段)

条件判断1、基本语法[condition](注意condition前后要有空格)注意:条件非空即为true,[atgusaga]返回true,[]返回false2、常用判断条件(1)两个整数之间比较=字符串比较-lt小于(lessthan)            ... 查看详情

shell函数(代码片段)

函数定义$catdemo.sh#!/bin/bashfunctionfun()echo"thisisafunction"fun$./demo.shthisisafunction 函数参数、返回值参数跟shell参数传递中保持一致返回值范围为0-255  查看详情

bash脚本之函数定义和调用

...这种被封装起来的代码称为功能体,或者叫模块,也称为函数。这样看来是不是和循环类似,循环也是为了方便去多次执行一堆代码,而函数是将一堆代码写在一起,起一个名字,然后在需要这堆代码的时候只需要写上函数的名... 查看详情