026_关于shell中的特殊变量$0 $n $* $@ $! $?

一、

$n:获取当前执行的shell脚本的第N个参数,n=1..9,当n为0时表示脚本的文件名,如果n大于9,用大括号括起来like${10}.

$*:获取当前shell的所有参数,将所有的命令行参数视为单个字符串。
$@:这个程序的所有参数"$1" "$2" "$3" "...",这是将参数传递给其他程序的最佳方式,因此TA会保留所有内嵌在每个参数里的任何空白。
$#:获取当前shell命令行中参数的总个数。

$_:代表上一个命令的最后一个参数

eg:

cat test.sh
#!/bin/bash
echo $_

sh test.sh 1 2 3 4 5
/bin/sh

$!:代表最后执行的后台命令的PID

eg:

➜  agent git:(master) ✗ nohup ./falcon-agent  -c  cfg.json &> var/app.log &
[1] 76901
➜ agent git:(master) ✗ ps -p $!
PID TTY TIME CMD
76901 ttys000 0:00.01 ./falcon-agent -c cfg.json
➜ agent git:(master) ✗ echo $!
76901
➜ agent git:(master) ✗ ps -p $!
PID TTY TIME CMD
76901 ttys000 0:00.02 ./falcon-agent -c cfg.json
➜ agent git:(master) ✗ echo $!
76901

➜ agent git:(master) ✗ nohup sh ./test.sh &
[2] 79469
appending output to nohup.out
➜ agent git:(master) ✗ echo $!
79469

二、

参考:http://www.111cn.net/sys/linux/79750.htm

随机推荐

  1. SQL实现将一个表的数据插入到另外一个表的代码

    --第一种情况的 1>如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; 2>比如要将 articles 表 ...

  2. OpenStack official programs

    What are programs ? The OpenStack project mission is to produce the ubiquitous Open Source Cloud Com ...

  3. kubernetes controller 实现

    对于kubernetes中不存在的资源类型,我们可以通过自定义资源的方式进行扩展,首先创建customresourcedefinition对象定义资源及其schema,然后就可以创建自定义的资源了,但 ...

  4. Jdbc、Mybatis、Hibernate各自优缺点及区别

    文章出处:Jdbc,Mybatis,Hibernate各自优缺点及区别 先比较下jdbc编程和hibernate编程各自的优缺点. 1.JDBC 我们平时使用jdbc进行编程,大致需要下面几个步骤:  ...

  5. [Swift]LeetCode389. 找不同 | Find the Difference

    Given two strings s and t which consist of only lowercase letters. String t is generated by random s ...

  6. C#版 - HDUoj 5391 - Zball in Tina Town(素数) - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. HDUoj 5 ...

  7. 铁大Facebook轻量化界面NABCD

    界面轻量化: N:满足了用户更快速.更直接.更方便寻求自己所要信息的需求,不被复杂界面以及各种广告所困扰. A:我们将会用Bootstrap工具包开发前端界面,Bootstrap是基于jQuery框架 ...

  8. ef core 相关

    1.为什么使用ef core? 市面上orm框架那么多,为何偏偏选择ef,dapper那么好用,性能碾压ef,为什么使用dapper? 对于这个问题我记得当初一个老师讲entityframework的 ...

  9. 结构体指offsetof宏详细解析

    1.#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE*)0)->MEMBER)     (include/linux/stddef.h) ...

  10. PHP APP端微信支付

    前面已经写了手机APP支付宝支付,今天再把手机APP微信支付补上,前期的准备工作在这里就不多说了,可以参考微信支付开发文档,一定要仔细阅读开发文档,可以让你少踩点坑:准备工作完成后就是配置参数,调用统 ...

上一篇:tyvj1189 盖房子


下一篇:C#跨平台手机应用开发工具Xamarin尝试 与Eclipse简单对比