shell调用自定义函数及传参

Shell——函数参数传递 上述 getopts 后面的 “s:k:y:” 是用户可以给函数提供的选项参数,每个参数还都可以含有参数,因为他们后面都加了 “:”,这个参数会被存到 系统变量 $OPTARG 中。getopts 是 bash 内置的一个命令,通过该命令,用户可以获取函数的选项以及参数值,或者是脚本的命令行选项以及参数值。可以发现,上述的变量 var 的值 是另一个变量(name)的变量名,,此时 可以通过两种方法来引用第二个变量。用户可以通过 系统变量 $# 来获取脚本的参数的个数,当然,函数也是。 阅读详情

 

1 单个参数

 

 

#!/bin/bash 
function LoopPrint()  
{  
    count=0;  
    while [ $count -lt $1 ] ;  
    do  
    echo $count;  
    let ++count;  
    sleep 1;  
    done  
    return 0;  
}
read -p "Please input the times of print you want: " n;  

LoopPrint $n;

 

 

 

 

 

 

 

2 多个参数的传参 

 

 

#!/bin/bash 
function LoopPrint()  
{  
    echo $2
    count=0;  
    while  [ $count -lt $1 ];  
    do  
    echo $count;  
    let ++count;  
    sleep 1;  
    done  
    return 0;  
}
read -p "Please input the times of print you want: " n;  
read -p "Please input the times of print you want 2: " m;  
LoopPrint $n $m;

 

 

 

记得函数定义在前,调用在后面。顺序反了就没有效果了.

 

ps 

关于

 

调用函数

只需要使用函数名,即可调用某个函数:
$ fname ; #执行函数

可以传递参数给函数,并由脚本进行访问:
fname arg1 arg2; # 传递参数

以下是函数fname的定义。在函数fname中,包含了各种访问函数参数的方法。

复制代码代码如下:


fname()
{
  echo $1, $2; # 访问参数1和参数2
  echo "$@"; # 以列表的方式一次性打印所有的参数
  echo  "$*"; # 类似于$@,但是参数被作为单个实体(字符串)
  return 0; # 返回值
}

 

类似地,参数可以传递给脚本并通过script:$0(脚本名)访问。

有关bash中函数参数的注解: 
$1是第一个参数。
$2是第二个参数。
$n是第n个参数。
"$@"被扩展成"$1" "$2" "$3"等。
"$*"被扩展成"$1c$2c$3c",其中c是IFS的第一个字符。
"$@"用得最多。由于"$*"将所有的参数当作单个字符串,因此它很少被使用。

 

 

 

 

部分赠送视频如下:

 

或者一套redis视频

 

 

Shell传参的几种方式实现 在我们进行Shell进行传参的时候,我们用得最多的是下面的方式: (1)通用传参方式: 参数处理 说明 $# 传递到脚本的参数个数 $* 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $$ 脚本运行的当前进程ID号 $! 后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如"$@"用「"」括起来的情况、以"$1" "$ 阅读详情

相关推荐

告别虚拟机!在WSL2的Ubuntu里5分钟跑通LVGL v9.2图形界面(附SDL2配置避坑)

本文详细介绍了如何在WSL2的Ubuntu子系统中快速配置LVGL v9.2图形库的SDL2模拟环境,帮助嵌入式开发者在5分钟内跑通第一个图形界面示例。通过WSL2和VSCode的远程开发插件,实现Windows系统下无缝使用Linux工具链,大幅提升开发效率。

weixin_28736335的博客 425

shell 6:函数与传参

1 函数 linux shell 用户可以定义函数,并在在shell脚本中随便调用。 1.1 函数定义 shell中函数的定义格式如下: [ function ] funname [()] { action; [return int;] } 说明: 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255) ...

master 6013

Win10本地账户密码遗忘?巧用指纹/PIN快速重置(家庭版/专业版通用指南)

本文提供了一份详细的Win10本地账户密码遗忘自救指南,适用于家庭版和专业版用户。核心方法是利用已登录的指纹或PIN码权限,通过创建新的管理员账户或使用系统工具,安全重置遗忘的本地账户密码,无需第三方工具或重装系统,有效保护个人数据。

e6f7g8h9i的博客 580

Shell脚本函数传递参数

如何传递参数到Shell脚本函数 通常,在其他脚本语言中,您可以将参数和参数作为function_name(parameter1, parameter2,…)传递给函数,这在shell脚本函数中不支持。在shell脚本函数中,您可以在函数调用期间直接传递参数,而无需在函数定义中定义它们的名称,并直接使用位置参数 $1 作为第一个参数, $2 作为第二个参数,以此类推。 在shell脚本中定义函数有两种方法 function function_name { ... } OR function_n

Thinking In Java 2万+

离散数学期末复习笔记【精华版】

文章目录前言一、????理逻辑1. 命题逻辑2. 等值演算3. 主合取范式、主析取范式4. 【题】推理证明5. 辖域、自由变元、约束变元二、????合1. 环和、环积,幂集,笛卡尔乘积三、 ????????关系1. 自反、对称、传递2&3. 合成运算,逆关系、闭包4. 哈斯图、上下界、偏序5. 等价关系、划分四、????1. 幺元(么元、单位元)、零元、逆元,半群、群、阿尔贝群、独异点、循环独异点2. 【题】由表判断3. 【题】证明五、????论1. 简单图、平凡图、多重图、子图、补图、出度、入度、

林大夕可的博客 17万+

开关电源环路学习笔记(1)-为啥要知道传递函数?

做硬件都会接触到开关电源,或多或少会接触到环路补偿。很多兄弟们也提出来让我说说这个,说明大家也都很关心,也说明这个好像有点难。 就我个人而言,我也想搞明白环路这一块,也查了一些资料,视频,不过说实话,一直都还是懵的,感觉很困难。 具体感觉就是,看资料或视频的时候,感觉好像是那么回事。但是撇开之后,就又云里雾里的感觉,总有一些想法没有找到答案。 问题 比如下面我想过的问题: 开关电源有开关,根本就不是一个线性系统,传递函数是咋弄出来的? 系统环路框图的输入量为什么不是Vin,而是参考电压V

weixin_42005993的博客 1万+

shell自定义函数内部传参数

场景:假如我在脚本里定义一个函数,但是这个函数需要从脚本内部传入参数。 解决办法:可以理解为这个函数需要一个全局变量,所以写成$1 $2…就行 栗子: #!/bin/bash # 环境变量生效 export PATH=$PATH:/sbin:/bin:/usr/local/sbin:/usr/local/bin ip=(192.168.23.13 192.168.23.14 192.168.23.15) mianmi(){ /usr/bin/expect << EOF # 这里需要传入一个ip

qq_39677803的博客 2165

HHD Device Monitoring Studio:破解版在串口调试中的实战应用

本文详细介绍了HHD Device Monitoring Studio破解版在串口调试中的实战应用,包括安装指南、串口监控功能解析、Modbus RTU协议分析案例以及自定义协议解析技巧。通过具体操作步骤和性能优化建议,帮助开发者高效完成端口监控和调试任务,提升工作效率。

weixin_29268331的博客 944

Shell-函数-实例-优缺点

函数 一、函数的作用 定义函数 调用函数 函数返回值(0或非0) 函数传参 二、函数的优点 自定义一堆命令; 避免大量的重复代码,加强可读性; 函数不去调用不会执行,也无需注释。 三、函数调用 函数调用有两种方式(实例如下) 函数调用写在函数前是不行滴 实例如下: [root@nothingzh ~]# cat function.sh #!/bin/bash #函数调用写在函数前是...

qq_37126850的博客 406

基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

本文介绍如何配置VSCode+clangd插件进行高效C++开发。重点内容包括:1)生成compile_commands.json文件,通过ninja工具提取编译命令并使用gen_compdb脚本转换;2)配置clangd命令行参数,如设置后台索引、并行度等;3)编写.clangd配置文件,调整编译标志和诊断选项;4)添加.clang-format文件定义代码风格;5)在VSCode中添加远程服务器工作目录。配置完成后需重启clangd服务使更改生效。文章还提供了MTK/QCOM等不同平台生成compile

5071

HTML爱心字母雨(完整代码)

HTML语言实现爱心字母雨的完整代码。

AIGC 2万+

shell编程之函数

核心作用:Shell 函数是封装重复命令的代码块,核心价值是模块化、复用性、易维护;关键语法:定义用函数名() { ... },调用直接写函数名,参数用$1/$2获取,局部变量用local声明;实用技巧:通过echo$()获取函数计算结果,return仅用于返回执行状态(0 成功 / 非 0 失败),优先使用局部变量避免全局污染。

gmx66666的博客 560

Central Finance 全景解析:用 SAP S/4HANA 构建跨系统的财务中台与渐进式转型路径

Central Finance 是基于 SAP S/4HANA 的一种部署与应用场景:在不打断现有异构源系统运营的前提下,把多套 SAP 与非 SAP 系统中的财务与管理会计数据实时/准实时复制到一套中心化的 SAP S/4HANA 中,作为统一的记账与分析底座,逐步把选定的财务流程(如预算控制、付款、固定资产结账等)迁入中心系统。这让企业既能快速获得统一报表与统一核算结构,又为未来的整体迁移留出了弹性路径。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 392

Makefile中的函数

make的常用函数介绍

uoscn的博客 789

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

shell定义函数并传参调用

如"$@"用「"」括起来的情况、以"$1" "$2" …"$n" 的形式输出所有参数。如"$*"用「"」括起来的情况、以"$1 $2 …$n"的形式输出所有参数。$1是第1参数、$2是第2参数…我们先写一个简单的脚本,执行以后再解释各个变量的意义。Shell最后运行的后台Process的PID。$1是传递给该shell脚本的第一个参数。$2是传递给该shell脚本的第二个参数。最后运行的命令的结束代码(返回值)$@ 是传给脚本的所有参数的列表。$# 是传给脚本的参数个数。$0 是脚本本身的名字。

allen_LJW的博客 313

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Shell 函数使用(定义函数、函数传参)

在 Shell 环境中,将一些需要重复使用的操作,定义为公共的语句块,即可称为函数。 格式与案例: 方式一: function 函数名 { 命令... } 方式二: 函数名() { 命令... } # 定义函数 function send1 () { echo '发送成功1' } function send2 { echo '发送成功2' } send3 () { echo '发送成功3' } # 调用函数 send1 send2 send3 函数传参 # 定..

卡尔特斯 1158

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Shell函数(函数定义、函数变量、函数调用、函数传参、函数返回值、获取函数返回值)

分享知识 传递快乐 1、函数定义 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名(){ 函数体 } 格式2: 这是标准写法,也推荐...

旷野历程 3万+

Shell函数:基本语法、函数传参、函数变量、返回值

讲解:Shell函数:基本语法、函数传参、函数变量、返回值和返回值的调用。函数局部变量应使用local关键词。

shyuu的博客 2296

shell函数定义、函数调用及函数返回值用法

1、函数定义 linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名(){ 函数体 } 格式2: 这是标准写法,也推荐大家使用的写法: function函数名(){ 命令序列 } 这样方便做到一看就懂。 格式3: 如果写了 funct...

tecoes的博客 1万+

shell函数、函数传参、函数范围、递归、创建库

一、Shell函数 将命令序列按格式写在一起 可方便重复使用命令序列 1.1 Shell函数定义: function 函数名 { 命令序列 } 函数名 () { 命令序列 } function db1 { read -p "请输入: " value return $[$value*2] return表示退出函数并返回一个退出值 } db1 调用这个函数(调用函数必写的) echo $? 查看退出值,不写这步不会显示结果 db1 () {

IvyXYW的博客 462

Shell之function函数的定义及调用

文章目录`function`函数的定义及调用`function`函数的定义`function`函数的调用【位置传参】函数使用return返回值【位置传参】函数的调用【数组传参】 function函数的定义及调用 将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码 function函数的定义 方法一: function_name () { statem...

李在奋斗的博客 3万+

shell函数传参和返回

shell函数传参和返回结果,记录几个使用注意点。

一得同学 4127

shell脚本函数及传参

shell函数的定义 shell脚本的函数位置相对自由,既可以一个shell脚本单独成一个函数, 也可以在主代码中嵌入内置函数. 在Shell中可以通过下面的两种语法来定义函数,分别如下: function_name () { statement1 statement2 .... statementn } 或者 function function_na...

几何君的算法天空 9万+

Shell之function函数的定义及调用示例

将一些相对独立的代码变成函数,可以提高程序的可读性和重用性。避免重复编写大量相同的代码方法一:1234567{statement1statement2....statementn}方法二:1234567function{statement1statement2....statementn}

jh035的博客 1442

shell 函数_谈一谈Shell中脚本传参与函数传参区别

谈一谈Shell中脚本传参与函数传参简单的看一个小demo#!/bin/bash#shell中脚本传参与函数传参#auth:odysee#定义函数print1(){#打印位置变量1echo "$1 is $1 in print1"echo "$2 is $2 in print1"}echo "$1 is $1 in sh"echo "$2 is $2 in sh"print1 95 27执行脚本[...

weixin_39794734的博客 703
上一篇: 优化Java堆大小的5个技巧
下一篇: tomcat7 生产环境优化(有些JVMtomcat5 6上的参数被取消了)
琅琊山二当家
博客等级 码龄18年 447粉丝 322原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值