shell 参数的分组读取
分组读取
今天写shell脚本的时候,遇到一个问题,需要将传入的参数分组读入
比如 sh test.sh 1 2 3 4 5 6 7 8 9
我希望1 2 3 是一组 4 5 6 是一组
先上实现代码:
cat test.sh
for i in "$@"
do echo $i
done
exit 0
调用1 sh test.sh “1 2 3” “4 5 6” “7 8 9”
输出
1 2 3
4 5 6
7 8 9
调用2 sh test.sh “1 2” 3
输出
1 2
3
这样就实现了分组读取
why?
其实$@ $* 在未加引号的时候 都是引用所有参数
cat test.sh
for i in $@
do echo $i
done
exit 0
不论 $@ $*
执行 sh test.sh “1 2” 3
输出都是
1
2
3
但是在加引号后 “$@” 表示按照引号的分组读取
“$" 表示所有的都是一个参数
替换成 "$” 后
同样的输入,输出为
1 2 3
其他特殊变量:
$0 | 当前脚本的文件名 |
---|---|
$n | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2. |
$# | 传递给脚本或函数的参数个数。 |
$* | 传递给脚本或函数的所有参数。 |
$@ | 传递给脚本或函数的所有参数。 |
$? | 上个命令的退出状态,或函数的返回值。 |
$$ | 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。 |
shell 参数的分组读取相关推荐
- Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等
1. Hive基本操作 1.1DDL操作 1.1.1 创建表 建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_nam ...
- linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件
原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...
- pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)
pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录
- pandas读取csv文件的前几行数据(nrows参数)、pandas读取csv文件的中间几行数据(skiprows=range(a,b))
pandas读取csv文件的前几行数据(nrows参数).pandas读取csv文件的中间几行数据(skiprows=range(a,b)) 目录 pandas读取csv文件的前几行数据.pandas ...
- C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结。
C++/Php/Python/Shell 程序按行读取文件或者控制台方法总结. 一.总结 C++/Php/Python/Shell 程序按行读取文件或者控制台(php读取标准输入:$fp = fope ...
- 【C++】42.使用YAML文件进行参数配置、读取与生成YAML文件
关于配置文件的使用,除了本文的yaml的方法,经常使用的还有proto的方法,请参考我另一篇博客:proto相关用法:方法2.. c++中如果要使用YAML,需要安装yaml-cpp库,安装完成后使用 ...
- shell正则表达式截取字符串_从CVE20208816聊聊shell参数扩展
1.前言 最近偶然看到了Pi-hole <=4.3.2远程代码执行漏洞(CVE-2020-8816)相关的文章,漏洞成因不是很难,但是里面构造的Exp引起了我的兴趣.由于Pi-hole代码对命令 ...
- shell参数带有空格问题
有shell脚本readFile.shell,它的作用是接收一个文件名称,然后打印出文件的文本内容. #!/bin/bash#打印入参 echo ${1}#打印文本内容 cat `/home/hds/ ...
- request java获取参数body_@RequestBody参数已经被读取,究竟是何原因?
不知道你们有没有对用户输入的东西进行过敏感校验,如果不进行校验,用户属于一些攻击脚本,那么我们的服务就挂逼啦!所以我们首先需要通过过滤器将用户的数据读出来进行安全校验,这里面涉及到一个动作,就是需要将 ...
- shell脚本系列:5、shell参数
shell脚本系列:5.shell参数 文章目录 shell脚本系列:5.shell参数 1. 位置参数 2. 特殊参数 2.1 参数* 2.2 参数@ 2.3 参数# 2.4 参数? 2.5 参数- ...
最新文章
- 台湾国立大学郭彦甫Matlab教程笔记(14)polynomial differentiation多项式微分
- 兼容多种屏幕分辨率的通栏大图实现方法
- 精通spring——深入java ee开发核心技术 pdf_2019精通Spring Boot 42讲 高清pdf完整版
- 使用指针在函数中交换数值
- Leetcode 242.有效的字母异位词(哈希表)
- Python_Socket实现简单的ssh/ftp
- java输入年月判断当月天数_java输入月份,年份,显示对应月份的天数,
- SQL Server误区30日谈-Day28-有关大容量事务日志恢复模式的误区
- 网页设计中最常用的字体
- 吾很努力了,吾不是关键因素
- Android mc怎么和win10联机,我的世界手机版与win10版联机可完美互通
- cad抠图 lisp_五个实用的AutoCAD的lisp程序
- 微信小程序--单行文本、多行文本溢出变省略号...
- go clean 命令介绍
- 关于IDEA下载安装,jpcap与wincap的一些使用方法
- 开源虚拟化KVM(一)搭建部署与概述
- 2018-01-20 HDU 4609 FFT 快速傅里叶变换
- 怎么样手机里面的计算机发出音乐,周三手机课︱怎样把U盘、电脑、微信的音乐存在手机里?...
- 用PHP写PHP扩展-Another way writing php extensions
- 零基础能不能学计算机专业,零基础新手可不可以学会计算机电脑
热门文章
- python自由落体_Javascript摸拟自由落体与上抛运动原理与实现方法详解
- 25匹马,5个跑道,不用外界工具怎样选出最快的5匹,要次数最短
- HTML学习之制作导航网页
- 英特尔第二代神经计算棒(Intel Neural Compute Stick 2)相关测试
- AI改变现代商业的25种方式
- 神州行省内流量套餐6元500M申请,发送BLSN6到10086即可
- QQ连连看外挂--基于LAScript
- 群发邮件避免被识别为垃圾邮件
- iphone换android手机铃声,iPhone6s怎么更换手机铃声 iPhone苹果6s更换铃声教程
- svchost.exe“病毒”