shell调用自定义函数及传参

2023-05-16

 

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视频

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell调用自定义函数及传参 的相关文章

  • 是否有可能在linux中找到包含特定文本的文件?

    考虑这种情况 我在文件夹 Example 下有很多文件 如果我需要找到一个包含特定短语 如 Class Example 的文件 我该如何使用 Linux shell 来做到这一点 linux中有类似 定位 的函数可以做到这一点吗 Thank
  • 如何在fish shell脚本中获取程序名称?

    在 bash 中 与在 ruby 中一样 程序名称由 0 给出 鱼里有什么 如果有必要 我可以执行以下操作 set PROGRAM ps no header o args p self egrep o S 2 但我确信程序名称必须已经在某个
  • 如何复制每个扩展名为 X 的文件,同时保留原始文件夹结构? (类Unix系统)

    我正在尝试将每个 HTML 文件从 src 文件夹复制到 dist 文件夹 但是 我想保留原始文件夹结构 如果 dist 文件夹不存在 我想创建一个新文件夹 如果文件夹不存在则创建 d dist mkdir dist 复制每个文件 cp R
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • 在powershell中检查文件是否可读且正常

    我是 powershell 新手 我想检查文件是否可读且正常 在 unix 中 我们可以使用 f 和 r 在一行中完成此操作 例如 以下 shell 脚本函数接受文件名作为参数并检查文件的可读性和规律性 与此等效的 powershell 是
  • 如何替换“docker run”命令中的变量值

    我正在使用 bash 脚本并尝试分配指纹值 如下所示 export FINGERPRINT D0 19 C5 80 42 66 56 AC 6F docker run rm i v var run docker sock var run d
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • 有一种简单的方法可以忽略时间戳来区分日志文件吗?

    我需要比较两个日志文件 但忽略每行的时间戳部分 确切地说是前 12 个字符 有没有一个好的工具 或者一个聪明的 awk 命令 可以帮助我 根据您使用的 shell 您可以改变方法 Blair https stackoverflow com
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行
  • shell脚本中的\r字符

    我在尝试执行 shell 脚本时收到以下错误 r command not found line 2 请提出同样的解决方案 以下是脚本中使用的初始行 bin sh if lt 1 then echo ERROR Environment arg
  • C程序调用shell脚本

    我有一个小型 C 程序 调用 shell 脚本 myScript sh 我得到的 ret 值为 256 请帮助我了解系统调用出了什么问题 int main int ret ret system myScript sh ret gt gt r
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • if [ -z "${FILE_LIST}" ] 中的 -z 是什么

    遇到了这个 什么是 z在 shell 脚本中if z FILE LIST 是相同的test And man test gives z STRING the length of STRING is zero 注意 在某些平台上 是一个符号链接
  • sed 错误“未终止的 's' 命令”故障排除

    我正在构建一个script https stackoverflow com questions 4036832 replacing a specific term in an xml file其中 它将用文件夹路径替换 XML 文件中的模式
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • 如何从我自己的脚本向 Fish shell 提供制表符补全?

    我运行的是 Ubuntu 13 10 和 Fish 2 1 0 我想自己编写一个 Python 脚本来从命令行执行一些任务 该脚本将需要命令行参数 我怎样才能编写我的脚本 以便 Fish 可以请求并获取给定参数的可能值 潜在值列表是动态的
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 在 C# 中读取/写入命令行程序

    我正在尝试与 C 的命令行程序进行对话 它是一个情绪分析器 它的工作原理如下 CMD gt java jar analyser jar gt Starting analyser 这是我想从我的 C 程序插入内容的地方 例如 I love y
  • 如何使用 sed 将空格替换为 \(space)?

    当我使用 sed 将所有空格替换为 X 时 该命令有效 命令为 sed s X g filelist tmp 但是 当我尝试用 space 替换所有出现的空格时 代码是 sed s g filelist tmp 这不起作用 我究竟做错了什么

随机推荐

  • 冒泡排序算法小结

    冒泡排序 原理 xff1a 比较两个相邻的元素 xff0c 将值大的元素交换至右端 思路 xff1a 依次比较相邻的两个数 xff0c 将小数放在前面 xff0c 大数放在后面 即在第一趟 xff1a 首先比较第1个和第2个数 xff0c
  • 2018.7.20 阶段小结

    前言 好久没写博客了 xff0c 距离上次写博客应该是几个月前的事情了 现在是一名毕业生 xff0c 在上海 xff0c 这个压力比较大的城市工作 xff0c 第一份工作的薪水还行 xff0c 虽然跟当初上大学时期望的有点出入 xff0c
  • 附录A 进阶游戏编程书籍总结与推荐

    章节导读 很多游戏编程书籍都有一个通病 xff0c 一本书写完 xff0c 读者看完之后 xff0c 不知道下一步该如何前进 这里的附录就是让大家看完这本书后 xff0c 知道自己接下来可以学习什么 xff0c 如何进一步提升自己 为学习思
  • 自己写的Arch Linux自动安装脚本

    自己写的Arch Linux自动安装脚本 https github com iceshroom Arch Install 脚本将自动添加用户 xff1a admin xff0c 密码为 admin123 暂不支持自定义账户 More det
  • Linux系统通过firewall限制或开放IP及端口

    一 查看防火墙状态 1 首先查看防火墙是否开启 xff0c 如未开启 xff0c 需要先开启防火墙并作开机自启 systemctl status firewalld 开启防火墙并设置开机自启 systemctl start firewall
  • Redis集群添加数据报错(error) CLUSTERDOWN The cluster is down

    连接到Redis集群 xff0c 添加向集群中添加数据 xff0c 出现如下错误 xff1a error CLUSTERDOWN The cluster is down 我上网上查了查 xff0c 发现导致这个错误的原因很多 xff0c 这
  • Ubuntu 22.04.2 LTS点云PCL库的安装

    先简单说明一下我的病情 xff0c 我的Ubuntu版本是22 04 xff0c 在没有安装点云之前就已经安装的QT5和Anaconda的运行环境 开始的时候我是通过直接apt安装PCL库的 xff0c 但是有点问题 xff0c 跑网上给的
  • Android_Google Pay的添加使用

    虽然国内的支付宝 微信支付这么火热 但是我们在国外开发的时候 免不了还是会遇到使用Google Pay的时候 一 注册您的应用程序 你必须注册通过API控制台访问谷歌API的所有应用程序 注册过程导致了一组已知只有谷歌和你的应用程序 xff
  • 素数的几种判断方法总结(含C++代码)

    素数的几种判断方法总结 xff08 含C 43 43 代码 xff09 一 素数定义二 素数判断方法1 定义法2 定义法改进3 取模法5 筛选法改进 三 总结 一 素数定义 素数 xff08 prime number xff09 xff0c
  • [Python黑帽] 三.编程实现IP及端口扫描器、实现多线程C段扫描器

    Python黑帽第三篇文章将分享网络扫描基础知识 xff0c 编程实现IP及端口扫描器 实现多线程C段扫描器 本文参考了 Python绝技 书籍和i春秋ADO老师的课程内容 xff0c 这里真心推荐大家去学习ichunqiu课程 xff0c
  • [Python从零到壹] 五.网络爬虫之BeautifulSoup基础语法万字详解

    欢迎大家来到 Python从零到壹 xff0c 在这里我将分享约200篇Python系列文章 xff0c 带大家一起去学习和玩耍 xff0c 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 xff0c 真心想把自
  • [Python从零到壹] 六.网络爬虫之BeautifulSoup爬取作者个人博客网站详解

    欢迎大家来到 Python从零到壹 xff0c 在这里我将分享约200篇Python系列文章 xff0c 带大家一起去学习和玩耍 xff0c 看看Python这个有趣的世界 所有文章都将结合案例 代码和作者的经验讲解 xff0c 真心想把自
  • Android Q 上的Biometric生物识别

    生物识别架构 Android Q版本不再使用相对独立的指纹识别或是人脸识别板块 xff0c 而是转而使用一个相对大的笼统的架构 就是生物识别 Biometric xff0c 基于生物特征的因素允许在平台上进行安全身份验证 xff0c 目前在
  • Android Q 上的Biometric生物识别之Face人脸识别流程

    第一部分 xff0c 人脸识别身份验证HIDL 借助人脸识别身份验证功能 xff0c 用户只需要将自己的面孔对准设备即可将其解锁 Android 10 增加了对一种新的人脸识别身份验证堆栈的支持 xff0c 这种堆栈可安全处理摄像头帧 xf
  • PHP 扩展与 ZEND 引擎的整合

    PHP 扩展是对 PHP 功能的一个补充 xff0c 编写完 PHP 扩展以后 xff0c ZEND 引擎需要获取到 PHP 扩展的信息 xff0c 比如 phpinfo 函数是如何列出 PHP 扩展的信息 xff0c PHP 扩展中的函数
  • 【米哈游】2022春季校园招聘

    作者 xff1a 咖喱吉吉 链接 xff1a 米哈游 2022春季校园招聘网申开始啦 xff01 校园大使内推 招聘信息 牛客网 来源 xff1a 牛客网 在这里有超多业界顶尖游戏制作大牛 xff0c 等你一起来创作最激动人心的面向未来的产
  • thymeleaf在SpringBoot中的配置

    spring boot使用thymeleaf版本问题 Spring boot默认使用的是thymeleaf的2版本 xff0c 这个版本比较低 xff0c 有些功能不支持 xff0c 需要切换成3版本 thymeleaf在版本中的配置 xf
  • 内存分配函数

    1 malloc 函数 xff1a void malloc unsigned int size 在内存的动态分配区域中分配一个长度为size的连续空间 xff0c 如果分配成功 xff0c 则返回所分配内存空间的首地址 xff0c 否则返回
  • powershell美化

    前言 重装系统后 xff0c 又用到了那个无比丑陋的powershell xff08 bushi xff09 还是之前通过oh my posh美化过的好看 但是跟着网上的好多教程都没有美化成功 xff0c 都是说什么oh my posh 无
  • shell调用自定义函数及传参

    1 单个参数 bin bash function LoopPrint count 61 0 while count lt 1 do echo count let 43 43 count sleep 1 done return 0 read