[原创]Bash中的$*和$@的区别
2019独角兽企业重金招聘Python工程师标准>>>
在Bash脚本中,$*和$@都用于表示执行脚本时所传入的参数。先通过一个例子看看他们的区别:
#!/bin/bash
# testvar.sh
echo "-------------ISF is set to \"-seperator\" ------------"
IFS="-seperator"; # 注意 seperator前有一个减号(-)
for i in "$@"; do echo "@ '$i'"; done
for i in "$*"; do echo "* '$i'"; doneecho "-------------ISF is set to null ------------------------"
IFS=
for i in "$@"; do echo "@ '$i'"; done
for i in "$*"; do echo "* '$i'"; doneecho "-------------ISF is unset ------------------------"
unset IFS
for i in "$@"; do echo "@ '$i'"; done
for i in "$*"; do echo "* '$i'"; doneecho "---------$* and $@ are not put into double quotes(\"\")-------"
for i in $@; do echo "@ '$i'"; done
for i in $*; do echo "* '$i'"; done
执行的结果如下:
-------------ISF is set to "-seperator" ------------
@ 'aa'
@ 'bb'
@ 'cc'
* 'aa-bb-cc'
-------------ISF is set to null ------------------------
@ 'aa'
@ 'bb'
@ 'cc'
* 'aabbcc'
-------------ISF is unset ------------------------
@ 'aa'
@ 'bb'
@ 'cc'
* 'aa bb cc'
---------aa bb cc and aa bb cc are not put into double quotes("")-------
@ 'aa'
@ 'bb'
@ 'cc'
* 'aa'
* 'bb'
* 'cc'
转载于:https://my.oschina.net/aiguozhe/blog/35905
[原创]Bash中的$*和$@的区别相关推荐
- Bash中的$*和$@的区别
在Bash脚本中,$*和$@都用于表示执行脚本时所传入的参数.先通过一个例子看看他们的区别: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...
- bash中(),{},(()),[],[[]]的区别
前言:在bash中遇到各种括号,同时在进行字符数值比较判定时,总是不断出现问题,于是通过参考<advanced bash-scripting guide>,同时在centos 6.7版本上 ...
- Bash中的管道输出和捕获退出状态
我想执行Bash中长时间运行的命令,都捕获它的退出状态,并且发球它的输出. 所以我这样做: command | tee out.txt ST=$? 问题在于变量ST捕获了tee而不是命令的退出状态. ...
- 如何检查Bash中是否设置了变量?
我如何知道是否在Bash中设置了变量? 例如,如何检查用户是否将第一个参数赋予函数? function a {# if $1 is set ? } #1楼 检查是否设置了变量 var="&q ...
- 面试必问一:Java 中 == 和 equals 的区别你知道吗
面试必问一:Java 中 == 和 equals 的区别你知道吗 前言 关于这个问题,一般初中级面试中都会遇到,还记得我当初实习找工作的时候也遇到了这个问题,现在都还记得自己是怎么回答的:== 是基本 ...
- source ubuntu 退出_ubuntu停source、sh、bash、/执行脚本的区别
ubuntu下source.sh.bash../执行脚本的区别 source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename ...
- shell变量加单引号sql_关于shell:在Bash中的命令中扩展变量的单引号
我想从bash shell脚本中运行一个命令,该脚本在单引号和变量中包含单引号和一些其他命令. 如repo forall -c '....$variable'. 在这种格式中,对$进行转义,不展开变量 ...
- bash中 21 的解释
1.首先,bash中0,1,2三个数字分别代表STDIN_FILENO.STDOUT_FILENO.STDERR_FILENO,即标准输入(一般是键盘),标准输出(一般是显示屏,准确的说是用户终端控制 ...
- Bash中的位置参数和特殊参数
#Bash中的位置参数和特殊参数 #Bash中的位置参数是由0以外的一个或多个数字表示的参数. #位置参数是当Shell或Shell函数被引用时由Shell或Shell函数的参数赋值,并且可以使用Ba ...
最新文章
- 杀毒软件原理后续阶段
- VTK:InfoVis之PKMeansClustering
- TZOJ 3030 Courses(二分图匹配)
- STM32之输入捕获
- Jmeter之JSON Path Extractor的使用(JSON-handle下载安装和使用)
- 开源框架_Index
- java装箱与拆箱_【转】java 自动装箱与拆箱
- C# WIN7电脑双屏设置不同内容的桌面
- 写了个算分压电阻阻值的MATLAB小程序
- [AutoCAD.Net][事件] AUTOCAD 选择对象后触发事件
- Linux iptable文档
- phpcms 允许英文目录有空格
- 张家港、张家口、张家界、张家川
- 捡到的苹果手机怎么解id锁_苹果手机维修中软解和硬解的区别
- jdon的设计模式详细解读
- 测绘专硕要学计算机吗,测绘工程专硕专业介绍_测绘工程非全日制研究生(专业硕士)_125在职研究生...
- 媒体播控系统、信息发布系统 使用说明
- Python相关库的安装
- MQ消息队列(三)RabbitMQ及Erlang安装过程中常见问题
- 一、瑞萨RZN2L介绍和各处理器概念
热门文章
- linux的自定义input,Linux Input子系统之第一篇(input_dev/input_handle/input_handler)
- php常见排序算去,PHP兑现常见排序算法
- Java项目:房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)
- 【基础知识】截长图的方法以及防止截图时下拉框自动收回的方法
- 【js】common.jsp的使用
- iOS UIView快速添加事件
- (转)如何修改maven的默认jdk版本
- REACT day 1
- 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(六)ndoutils安装
- 清理SQL多余登录信息