在linux系统中有很多的特殊符号,他们具有特殊的意义

$# 是传给脚本的参数个数

$0 是脚本本身的名字

$1 是传递给该shell的第一个参数

$2 是传递给该shell的第二个参数

$@ 是传递给脚本的所有参数的列表

$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个

$$ 是脚本运行的当前进程ID号

$?是显示最后命令退出的状态,0表示没有错误,其他表示有错误

例子:

#!/bin/bash
echo "param num:$#"
echo "sh name is :$0"
echo "The first param is :$1"
echo "The second param is :$2"
echo "The all param list is :$@"
echo "The all param str is :$*"
echo "The PID is:$$"
echo "The precomm stat is:$?"

执行结果:

$@与$*的区别:$*把参数作为一个字符串整体(单字符串)返回,$@把每个参数作为一个字符串返回

随机推荐

  1. [Web 前端] 你不知道的 React Router 4

    cp from https://segmentfault.com/a/1190000010718620 几个月前,React Router 4 发布,我能清晰地感觉到来自 Twitter 大家对新版本 ...

  2. 为什么你的session不见了

    一:现象 有小伙伴写了下面一段代码,然后发现,随着每次关闭浏览器,count的值重新开始计数了,如下: protected void doGet(HttpServletRequest request, ...

  3. scriptcs简介

    一.scriptcs简介 scriptcs易于编写和执行C #用一个简单的文本编辑器. 在Visual Studio中,和其他的思想,是功能强大的工具,他们有时会阻碍生产力比他们更促进它. 您并不总是 ...

  4. 带标签的 break 和 continue (Java)

    2002年12月发于 CCW-I2006年9月搬至 CSDN,略作修改 Java 中有 goto 关键字,但这个关键字没有任何作用,换句话说,我们不能使用 goto 来进行跳转到某行.实际上,结构化程 ...

  5. 基于DPI(深度报文解析)的应用识别

    一.概述 1.DPI(Deep packet inspection,深度报文解析) 所谓“深度”是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析IP包4 层以下的内容,包括源地址.目的地址. ...

  6. serializeArray()与 serialize()

    serialize()序列表表格内容为字符串,用于 Ajax 请求. serializeArray()序列化表格元素 (类似 '.serialize()' 方法) 返回 JSON 数据结构数据. .s ...

  7. Inferred type 'S' for type parameter 'S' is not within its bound; should extend

    在使用springboot 方法报错: Inferred type 'S' for type parameter 'S' is not within its bound; should extends ...

  8. libc中的标准函数 localtime和localtime_r 的用法

    http://baike.baidu.com/view/1080853.htm 随便一查,就可以查到基本用法,但是... http://blog.csdn.net/maocl1983/article/ ...

  9. 样条之Akima光滑插值函数

    核心代码: ////////////////////////////////////////////////////////////////////// // Akima光滑插值 // t - 存放指 ...

  10. Binary Tree Level Order Traversal II leetcode java

    题目: Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from ...