Shell $? $* $@ 等含义
$0 ------>脚本名
$1 ------>传入的第一个参数值
$? ------>脚本执行的结果。成功==0,不成功==非0
$* ------>所有参数的内容
$@ ------>所有参数的内容
$# ------>参数的数量
$$ ------>表示当前进程的进程号 希望打开一个进程后不再打开另一个
$! ------>表示后台运行的最后一个进程号
测试代码如下:
linux-:/install # cat .sh
#!/bin/sh
echo '$0 == ' $
echo '$1 == ' $
echo '$2 == ' $
echo '$? == ' $?
echo '$* == ' $*
echo '$@ == ' $@
echo '$# == ' $#
echo '$$ == ' $$
echo '$! == ' $! ps -ef | grep "2.sh"
测试结果打印如下:
linux-:/install # ./.sh
$ == ./.sh
$ ==
$ ==
$? ==
$* ==
$@ ==
$# ==
$$ ==
$! ==
root : pts/ :: /bin/sh ./.sh
root : pts/ :: grep .sh
参考了下别的资料,显示的是说 $* 和 $@ 的区别在于:
$*为"1 2 3"(一起被引号包住)
$@为"1" "2" "3"(分别被包住)
即$@可以当作数组来用
注:没实际使用过。待验证。 突然看到一个很详细的blog:
http://c.biancheng.net/cpp/view/2739.html
随机推荐
- json 除去转义字符以及查看json错误
$param=stripslashes($_POST['param']); try{ //$param包含了文档指定的信息,...这里保存您的快递信息,$param的格式与订阅时指定的格式一致 $ar ...
- Android 轮换页面+TabHost 实例
最终效果展示: 首先我们需要一个ViewPager控件,不过可以发现在左侧的控件列表中并没有这个控件 这时我们要去升级包中查看 然后在厘米找到 ViewPager.class 这时我们双击这个发现不能 ...
- 【bzoj4008】 HNOI2015—亚瑟王
http://www.lydsy.com/JudgeOnline/problem.php?id=4008 (题目链接) 题意 给出n个技能,每个技能按顺序有p[i]的可能性释放,可以造成d[i]的伤害 ...
- (function($){...}) (jQuery)
这里实际上是匿名函数 function(arg){...}这就定义了一个匿名函数,参数为arg 而调用函数 时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:(funct ...
- JQ-动画合集(ing...)
一:给向上按钮加动画,让页面卷回上面而不是生硬跳转.js $('#topBtn').click(function(){ $('html,body').animate({scrollTop: '0px' ...
- ARM-汇编指令集(总结)
ARM汇编指令集 指令.伪指令 (汇编)指令: 是机器码的助记符,经过汇编器编译后,由CPU执行. (汇编)伪指令:用来指导指令执行,是汇编器的产物,最终不会生成机器码. 有两种不同风格的ARM指 ...
- .NET开发人员值得关注的七个开源项目 .
NET开发人员值得关注的七个开源项目 软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的 ...
- MyEclipse10--的使用经验
MyEclipse10--的使用经验总结 ------------------ 1.MyEclipse中的验证validation----->>用MyEclipse做ExtJs项目研发的时 ...
- HTML5的Audio标签打造WEB音频播放器
目前,WEB页面上没有标准的方式来播放音频文件,大多数的音频文件是使用插件来播放,而众多浏览器都使用了不同的插件.而HTML5的到来,给我们提供了一个标准的方式来播放WEB中的音频文件,用户不再为浏览 ...
- Unity游戏开发中的内存管理_资料
内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...