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
随机推荐
- 并发包的线程池第一篇--ThreadPoolExecutor执行逻辑
学习这个很长时间了一直没有去做个总结,现在大致总结一下并发包的线程池. 首先,任何代码都是解决问题的,线程池解决什么问题? 如果我们不用线程池,每次需要跑一个线程的时候自己new一个,会导致几个问题: ...
- celery使用方法
1.celery4.0以上不支持windows,用pip安装celery 2.启动redis-server.exe服务 3.编辑运行celery_blog2.py !/usr/bin/python c ...
- crodova打包apk个人总结
1.安装nodejs 2.安装 cordova npm install -g cordova 3.安装Java JDK,官网下载地址 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安 ...
- Beta阶段第八次Scrum Meeting
情况简述 BETA阶段第八次Scrum Meeting 敏捷开发起始时间 2016/12/21 00:00 敏捷开发终止时间 2016/12/22 00:00 会议基本内容摘要 deadline临近 ...
- LR破解版录制手机脚本(一)模拟器录制
最近在网上听到好多童鞋都在问如何用LR做手机性能测试,恰好自己对这方面也挺感兴趣,经过查阅很多资料,形成此文档以做备注~!如果有感觉我写的不对的地方,敬请指正,谢谢~! 其实自从LR12出来之 ...
- c# .net获取随机字符串!
public string getStr(bool b,int n)//b:是否有复杂字符,n:生成的字符串长度 { string str = "0123456789abcdefghijkl ...
- PHP安装kafka插件
在工作中我们经常遇到需要给php安装插件,今天把php安装kafka的插件的步骤整理下,仅供大家参考 1:需要先安装librdkafka git clone https://github.com/ed ...
- checkbox做全选按钮
1.先写一个html页面,里面写一个全选按钮和几个复选框,实现下面2个要求 (1)点击全选按钮选中时,所有的复选框选中. (2)点击全选按钮取消选中时,所有复选框取消选中. <input typ ...
- 记一次WinForm中屏蔽空格键对按钮的作用
事件的起因是在做一个项目功能时,添加快捷键关闭声音,这个键最终选择了空格键,但是当按下空格键时,会把窗体中获取焦点的控件(比如按钮,文本框等)的单击事件触发,所以要屏蔽这个现象. 开始使用各种方法,在 ...
- EFCore教程
https://docs.microsoft.com/en-us/ef/core/modeling/alternate-keys aspnet core 教程 https://docs.microso ...