shell脚本编写之传参

news2024/11/23 13:22:27

我们知道命令可以带参数,同样脚本文件运行时也可以带有参数。

1、脚本内获取参数

脚本内获取参数的格式为:$n

n代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推。

举例,仍然在myshell.sh中进行举例,在该脚本文件中加入参数打印代码echo $1,即将传入的第一个参数打印出来:

保存后执行脚本,并传入参数par:

传入两个参数par1和par2,并打印出来:

保存后执行脚本,并传入参数par1和par2:

2、获取传递参数

获取传递参数的个数使用$#。

在脚本中加入echo $#,打印出输入参数的个数:

保存后执行脚本,并传入参数par1和par2:

3、传入的参数打包为一个字符串

将传入的参数打包为一个字符串使用$*。

在脚本中加入echo $*,打印出输入的所有参数:

可以看到$*是将所有的输入参数组装成为了字符串。

4、传入的参数分别打包为一个字符串

将传入的参数分别打包为字符串使用$@

我们先演示一下,在脚本中加入echo $@:

输入三个参数执行:

可以看到,echo $@打印出来的结果跟echo $*一样,但是其实,echo $*是将三个参数打包成一个字符串打印出来的,而echo $@是将三个参数,分别打包为三个字符串打印出来的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2097007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新手必看 | 信息收集打点篇

0x1 前言 本篇文章主要是汇总自己在以往的信息收集打点中的一些总结,然后给师傅们分享下个人信息打点的各种方式,以及使用工具的快、准、狠的重要性。让师傅们在后面的一些红队和众测包括src的项目中可以拿到一个不错的结果。 0x2 信息打点方向 探讨下…

天气数据爬取

目录 历史气象数据获取浏览器访问模拟 历史气象数据获取 主要的python包 requests BeautifulSoup re pandas lxml 浏览器访问模拟 根据浏览器Request-Header参数,让request模拟浏览器行为 import requests from bs4 import BeautifulSoup import re import pandas…

Qt 实战(10)MVD | 10.1、MVD机制详解

文章目录 一、MVD机制1、MVC设计模式1.1、简介1.2、优缺点分析 2、什么是MVD?2.1、简介2.2、核心角色 前言: 在Qt框架中,MVD(Model-View-Delegate)机制是一种用于实现数据与用户界面分离的重要设计模式。它源于经典的M…

python 下载油管视频的评论

先说结果: 2024年9月2日上午, 能运行! 起因(目的): Not Like Us 这首歌, 1.5亿播放量,34万个评论。 有时候很想知道大家都说了什么。 Youtube 也是互联网的一霸, 大公司。 想爬人家的数据, 先做好失败的心理准备。 …

不同框架下跑yolov10(pt、onnx_runtime、tensorrt)

不同框架下跑yolov10(pt、onnx_runtime、tensorrt) (qq.com)

cmake版本升级 CMake Error: Could not find CMAKE_ROOT !!!

背景 ubuntu默认安装cmake较低版本,但是有些开发环境需要较高的版本,这时候需要手动升级一波. 1 官网获取cmake安装包 https://cmake.org/files/LatestRelease/,cmak官网下载 下载后,放到ubuntu里面,然后解压. tar zxvf *.gz 解压之后, cd cmake-3.30.0-Linux-x86_64/bin/, …

asp.net Temporary ASP.NET Files修改为其他位置

Temporary ASP.NET Files这个文件夹是编译期间用于临时文件存储的目录。当请求一个新页面时ASP.NET会分析aspx页面并为其生成一个.cs文件,然后JIT编译器会编译这个cs生成一个dll,这些过程都是在这个目录里面进行的。其中还放了你在项目中引用的Assembly的…

[CTF]-Pwn:做题笔记

seccon2018_kindvm解析(vm): 查看保护 这里有两次输入。 完整exp: from pwn import* pprocess(./kindvm)p.sendlineafter(bInput your name :,bflag) payloadb\x01\x00\xff\xd8 payloadb\x02\xff\xdc\x00 payloadb\x06 p.sendl…

FastAPI+Vue3零基础开发ERP系统项目实战课 20240831上课笔记 查询参数和分页实现

回顾 获取路径参数什么是路径参数?/user/{id}什么时候使用?需要传递参数怎么实现类型转换?声明参数的类型怎么捕获文件路径?{file_path:path} 什么是查询参数 查询字符串是键值对的集合,这些键值对位于 URL 的 ? 之…

深兰科技荣登《2024胡润中国元宇宙潜力企业榜》Top100

8月29日,“胡润中国元宇宙高峰论坛”在广州南沙隆重召开。论坛期间,胡润研究院发布了《2024胡润中国元宇宙潜力企业榜》,列出了元宇宙领域最具发展潜力和影响力的中国企业,深兰科技成功入围《2024胡润中国元宇宙潜力企业榜》Top10…

基质粘弹性咋回事?与组织生长啥关系?快来看看!

大家好,今天我们要来了解一个关于细胞外基质的有趣话题——《Matrix viscoelasticity controls spatio-temporal tissue organization》发表于《Nature materials》。细胞外基质的粘弹性对组织的时空组织起着重要作用,但这一作用尚未被完全理解。我们将通…

生成图片的base64编码(纯C语言实现)

一、前言 Base64编码是一种广泛使用的编码方案,将任意二进制数据转换为可打印的ASCII字符字符串。这种编码方式之所以重要,是因为许多通信协议和存储介质对数据的可传输性和可存储性有特定的要求,它们可能无法直接处理或有效传输二进制数据。…

[进阶]面向对象之static关键字

文章目录 一、什么是static关键字为什么要设置static关键字二、static的使用规则1、static修饰变量:2.static的修饰方法 练习(定义数组工具类)练习2(定义学生工具类)三、static的注意事项 一、什么是static关键字 static关键字是…

美国高防服务器运行《黑神话:悟空》配置需求及优化方法

《黑神话:悟空》作为一款备受关注的动作角色扮演游戏,其对计算资源和图形处理能力的需求相当高。在这种背景下,云服务器成为了一个能够提供强大支持的选项。下面将分析美国高防服务器在运行《黑神话:悟空》时的配置需求及优化方法…

微服务CI/CD实践(五)Jenkins Docker 自动化构建部署Node服务

微服务CI/CD实践系列: 微服务CI/CD实践(一)环境准备及虚拟机创建 微服务CI/CD实践(二)服务器先决准备 微服务CI/CD实践(三)gitlab部署及nexus3部署 微服务CI/CD实践(四&#xff09…

为什么现在那么多人用骨传导耳机?怎么选骨传导耳机?答案来了!

随着健康生活观念的深入人心,运动健身已成为一种生活态度,而音乐则是这场健康之旅中不可或缺的伴侣。然而,传统耳机在运动时的不便促使市场呼唤更加人性化的产品。骨传导耳机的出现,正是对这一需求的精准把握。它采用非入耳技术&a…

VTK平面切割

文章目录 一、vtkClipPolyData二、CapClip三、SolidClip四、vtkClipClosedSurface 本文的主要内容:简单介绍VTK中通过平面切割模型的相关功能。 哪些人适合阅读本文:有一定VTK基础的人。 一、vtkClipPolyData VTK官网描述: vtkClipPolyData使…

AI绘画 | Stable diffusion 修复老照片

大家好呀!今天我要和大家分享一个使用Stable diffusion修复老照片的功能。 你有没有遇到这样的问题:想要修复一张老照片,但是发现照片质量太差,噪点太多,根本无法修复? 别担心!Stable diffusio…

DS18B20温度传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.工作时序 3.工作原理:复位脉冲与应答脉冲 4.工作原理:写时序 5.工作原理:读时序 6.工作原理:DS18B20读取的数据格式 7.工作原理:DS18B20配置步骤 三、程序设计 ma…

vue 批量自动引入并注册组件或路由

有时候有大量的组件.vue后缀的,或.js,或.ts文件, 需要一个个的手动引入很麻烦,那么你可以尝试这样创建一个index.js 本项目使用vue3.x, vue2.x也可以照样用; 这里在components里面创建了一个idnex.js 文件 require.context 可以读取文件, 第一个参数是指当前文件夹, 第二个参…