首页 > 系统相关 >Shell函数

Shell函数

时间:2023-02-05 23:35:35浏览次数:42  
标签:Shell shu read 代码 echo 函数

Shell函数

一、Shell函数

函数的作用就是把程序里需要多次使用的部分代码列出来,然后为这部分代码起个名字,其它所有的重复调用这部分代码都只用调用这个名字就可以(类似于别名)。当需要修改这部分重复代码时,只

要改变函数体内的一份代码即可实现调用修改。

函数的优点把相同的程序段定义成函数,可以减少整个程序的代码量。

增加程序的可读性,以及便于管理。

修改时只需要修改函数内就可,不需要在程序里到处找需要修改的地方。

二、Shell函数格式

函数格式一:
function 函数名 {
  命令序列
}
函数格式二:
函数名() {
  命令序列
}

调用函数格式一:直接调用
函数名
调用函数格式一:赋值再输出
result=`函数名`
echo "想要输出的结果"

三、函数返回值

1、return

return表示退出函数并返回一个退出值,脚本中可以用 $ ? 变量显示该值

使用原则

函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码

退出状态码必须是0~255,超出时值将为除以256取余

#!/bin/bash
function  cheng {
   read -p "请输入:" shu
   return $[$shu * 2]
}
cheng
echo $?

2、echo

echo可以返回任何字符串结果

通常用于返回数据,例如:字符串值或列表值

#!/bin/bash
function  cheng {
   read -p "请输入:" shu
   echo $[$shu * 2]
}
cheng

四、函数传参

传参就是将主体代码内的参数传到函数体内,一般使用位置参数$n($1、$2、$3…)

#!/bin/bash
sum() {
s=$[$1 + $2]
echo $s
}
read -p "请输入第一个参数:" first
read -p "请输入第二个参数:" second
sum $first $second

五、函数变量的作用范围

函数在Shell脚本中仅在当前Shell环境中有效

Shell脚本中变量默认全局有效

将变量限定在函数内部使用local命令

六、递归

函数调用自己本身的函数

1、阶乘

一个正整数的阶乘是所有小于及等于该数的正整数的积

这就是阶乘的一个过程

如果是目录就显示为蓝色判断目录下,有哪些目录,打印显示出,不显示文件

标签:Shell,shu,read,代码,echo,函数
From: https://www.cnblogs.com/xuyuankai/p/17094184.html

相关文章

  • Linux系统Shell脚本第六章:文件三剑客之sed
    一、文本三剑客之sed1.基本用法sed[选项]...'{自身脚本语法};....'[inputfile...]2、sed脚本语法及命令①sed脚本语法:地址+sed自己脚本命令,地址即范围例如全文或......
  • shell脚本循环语句
    shell脚本循环语句一、for循环语句for语句需要定义一个变量和取值列表,根据不同的取值执行相同的命令,知道变量值用完。取值列表里包含多个属性相同的对象,例如:IP地址,通信......
  • Linux系统Shell脚本第五章:shell数组、正则表达式及文件三剑客之AWK
    一、shell数组1.数组分类①关联数组:必须声明才可以使用,命令:delare -A  数组名  ②普通数组:利用数字下标节约变量,可以不声明也可以声明,命令:delare-a 数组名d......
  • shell脚本之条件语句
    shell脚本之条件语句一、条件测试操作1、测试命令------test可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为0表示条件成立,反之不成立)。使用test命令......
  • C++ const成员函数如何改变类的成员变量
    C++const成员函数不能改变类的普通成员变量。可以改变类的静态成员变量。可以改变类的被mutable修饰的成员变量。#include<bits/stdc++.h>usingnamespacestd;s......
  • Linux系统Shell脚本第四章:shell函数
    一、shell函数1.函数的作用定义较为复杂的但是需要重复使用的内容,以便再次使用可以直接调用函数节约时间,提高效率2.函数使用步骤①首先是定义函数②其次是调用函数(......
  • 创建my_strstr函数
    #include<assert.h>char*my_strstr(char*p1,char*p2){assert(p1!=NULL);assert(p2!=NULL);//保证指针有效性char*s1=p1;char*s2=p2;char*cur=p1......
  • 完胜的Scan(Excel函数集团)
    Scan看上去简单,就四个字母,其实,嗯,很内涵……Scan的基础用法就三个参数,好吧,实际应该算是四个参数:=Scan(初始值,数据源,Lambda(定义名称1,定义名称2,运算))以上,不算废话的......
  • 小程序云开发联表数据查询以及云函数中的应用
    点击观看视频↓↓↓小程序云开发联表数据查询以及在云函数中的应用|多表查询|连表lookup|聚合函数文章目录​​1、联表查询​​​​(1)lookup联接两个表格​​​​(2)使......
  • shell规范写法与变量
    shell规范写法与变量一、shell脚本概述1、shell是什么?Shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作......