首页 > 系统相关 >Shell函数

Shell函数

时间:2023-04-07 16:47:43浏览次数:34  
标签:10 Shell return 函数 echo 参数 -----

定义

[function] funName(){
action;
[return int;]
}
可以带function fun()定义,也可以直接fun()定义,不加任何参数。
参数返回,可以显示加return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟的值(0-255)
-----------
demoFun(){
echo "这是我的第一个 shell 函数!"
}
echo "-----函数开始执行-----"
demoFun
echo "-----函数执行完毕-----"
-----------

定义一个带return的函数

-----------------------
funWithReturn(){
echo "这个函数会对输入的两个数字进行相加运算..."
echo "输入第一个数字: "
read aNum
echo "输入第二个数字: "
read anotherNum
echo "两个数字分别为 $aNum 和 $anotherNum !"
return $(($aNum+$anotherNum))
}
funWithReturn
echo "输入的两个数字之和为 $? !"
-----------------------
函数返回值在调用该函数后通过$?来获得。$?只能是紧接在函数执行完之后。
所有函数在使用前必须定义。

函数参数

调用函数可以向其传递参数,在函数体内部,通过$n的形式来获取参数的值,例如$1标识第一个参数,$2标识第二个参数。。。
-------------------
funWithParam(){
echo "第一个参数为 $1 !"
echo "第二个参数为 $2 !"
echo "第十个参数为 $10 !"
echo "第十个参数为 ${10} !"
echo "第十一个参数为 ${11} !"
echo "参数总数有 $# 个!"
echo "作为一个字符串输出所有参数 $* !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
-------------------
注意 $10不能获取第十个参数,获取第10个参数需要${10},当n>=10时,需要使用${10}来获取参数。

 

标签:10,Shell,return,函数,echo,参数,-----
From: https://www.cnblogs.com/lujiango/p/17296660.html

相关文章

  • Oracle中的单行函数
    一.定义单行函数为查询的表或视图的每一行返回一个结果行。这些函数可以出现在可以出现在SELECT列中,WHERE子句,STARTWITH和CONNECTBY子句以及HAVING子句中。单行函数大致分为:数值函数,字符函数,日期时间函数,转换函数,和通用函数。二.数值函数数值函数接受数值输......
  • 获取Python函数信息的方法
    Python的反射机制可以动态获取对象信息以及动态调用对象,本文介绍如何获取对象中的函数注释信息以及参数信息。定义一个Person类:classPerson():deftalk(self,name,age,height=None):"""talkfunction:return:"""print(f"Mynamei......
  • C++虚函数
    形式:virtual函数类型函数名()(在派生类和基类里都要写)静态成员函数不能是虚函数1.通过指针实现多态对于基类的对象:调用基类的虚函数对于派生类的对象:调用派生类的虚函数#include<iostream>usingnamespacestd;classA{ public: virtualvoidPrint() { cout<<"printA"......
  • Shell流程控制
    和java,php等语言不一样,sh的流程控制不可为空。1.ififthenfi-------------实例:if[$(ps-ef|grep-c"ssh")-gt1];thenechotruefi-------------ifthenelsefiifthenelifthenelsefiifelse的[]判断语句中大于使用-gt,如果使用(())作为判断语句,大于使用>2.forforvarin......
  • C++知晓某个key值,调用相应的类函数
    1、类函数中定义一个map表typedefint(CClassTest::*pfnMethodExe)(std::stringstrInput,intnInputNum); std::map<std::string,pfnMethodExe>m_fnMethodExecute;CClassTest为类名,typedefint中的int为函数返回值,可以为其他值2、key值和函数对应关系放入map表中m_fnMeth......
  • Xshell7免费版安装教程
    一、背景最近我正在寻找一款可靠的远程连接管理软件,以便能够更方便地管理我的计算机。然而,我花了很长时间在网上搜索,但一直没有找到适合我的软件。最终,我在不断地尝试和搜索中,发现了Xshell7这个软件,于是开始了我的远程连接管理之旅。在寻找远程连接管理软件的过程中,我一直遇到了......
  • Python中的时间函数strftime与strptime对比
    一、striftime将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串,控制输出格式.date、datetime、time对象都支持strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。用法:datetime.strftime(format)importdatetimedt=datetime.dateti......
  • ctfshow-web4(Nginx日志写shell)
    这是一道有关Nginx日志文件写入shell的题目。  一、基础知识/etc/nginx/nginx.conf:该文件是Ngnix的配置的文件,该文件保存着能够影响服务器运行的配置信息。有时会泄露敏感信息。该文件支持php解析。/var/log/nginx/access.log:该文件是Ngnix的访问日志文件,Ngnix会把每个......
  • 自制 js 的 trim、right、left、instrRev、instr、mid 函数
    //用惯了VB系列语法的instr和mid函数,在js里面处理字符串总是感觉束手束脚//跟Basic语法比起来,其他语言的字符串处理函数的确非常不方便!!!因此,必须自己写个仿Basic语法的javascript的常用字符串处理函数库来用!!!//以下是经过多次修正,便于js处理字符串的函数functi......
  • adb shell dumpsys
    其实,adbshelldumpsys命令是用于打印出当前系统信息(更切确的说是dumpsys命令,因为adbshell只是为了进入手机或模拟器的shell内核,使其能够执行dumpsys命令),可以在命令后面加指定的servicename(比如activity,location),如果不加则默认打印出设备中所有service的信息.在adbs......