【参考文章】:linux中shell变量$#,$@,$0,$1,$2的含义解释

1. 变量说明

1.1 $$

  Shell本身的PID(ProcessID)

1.2 $!

  Shell最后运行的后台Process的PID

1.3 $?

  最后运行的命令的结束代码(返回值) 成功时返回 0,失败时返回 1 或者其他。

  可以用来判断脚本中命令的执行结果以决定是否要进行下一步或者退出。

1.4 $-

  使用Set命令设定的Flag一览

1.5 $*

  所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

1.6 $@

  所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。

1.7 $#

  添加到Shell的参数个数

1.8 $0

  Shell本身的文件名

1.9 $1~$n

  添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

2. 示例代码

#!/bin/sh

echo  $$

echo  $!

echo  $?

echo  $-

echo  $#

echo  $*
echo "$*" echo $@
echo "$@" echo $ echo $ echo $

运行结果:

随机推荐

  1. 【科创人·独家】连续创业者高春辉的这六年:高强度投入打造全球领先的IP数据库

    您能看到:高春辉的创业观,IPIP.NET半程复盘及未来规划,连续创业的体验,小众产品趣事 您看不到:往年创业的回顾,技术干货,受制于篇幅忍痛割舍的精彩观点 文末彩蛋:<与雷军的分歧并非否定电商 ...

  2. MongoDB 基础增删改查

    增删改查 基础操作 use show dbs show collections db[当前所在数据库] 插入文档 db.collection.insert() db.collection.insert ...

  3. ftp卡死问题

    最近用org.apache.commons.net.ftp.FTPClient  写ftp的上传下载的定时任务 发现有时候线程会卡住,也不报错就一直不工作了,后来发现需要使用ftp的被动模式才行,实现 ...

  4. 原型相关的知识点-new的实现原理

    let obj = {}let fn = function(){ this.content = 'zhangsan'} let fn2 = new fn() fn2是fn实例化出来的一个对象,要了解n ...

  5. Python 之 random模块

    Python中的random模块用于生成随机数.1.random.random()  #用于生成一个0到1的随机浮点数:0<= n < 1.0>>> random.ran ...

  6. zabbix监控项截图整理

    general监控项

  7. Cowrie蜜罐部署教程

      0.蜜罐分类: 低交互:模拟服务和漏洞以便收集信息和恶意软件,但是攻击者无法和该系统进行交互: 中等交互:在一个特有的控制环境中模拟一个生产服务,允许攻击者的部分交互: 高交互:攻击者可以几乎自由 ...

  8. 解决Chrome无法安装CRX离线插件

    解释说明: 谷歌浏览器Chrome,版本号67.0.3396.99,自这个版本后的Chrome,手动拖放插件文件crx到谷歌浏览器,这种安装插件的方式,一定会失败,它会提示“无法从该网站添加应用,扩展 ...

  9. ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=..., ...)

    tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=predicton,labels=y))

  10. 放大镜如何用js

    例如: let imgs = { small: ["imgA_1.jpg", "imgB_1.jpg", "imgC_1.jpg"], mi ...