$0表示bash脚本的文件名
$1表示第一个参数
$*表示参数列表$0, $1, $2…
$@表示"$1"/"$2"...每个变量都是独立的,用双引号括起来
$#表示参数列表个数
$?表示上一条命令的执行结果
$!表示上一条命令的PID号
 
注意:
不被引用的$*每个单词被当成独立的单词
使用"$*"整个参数列表被当成一个参数
不引用的#@与$*一样
"$@"保留调用者的假设,引号内的作为一个参数,且保留空格
 
下面的脚本代码来对$*和$@来进行相应的测试
 #!/bin/bash

 # The differences between $* $@ "$*" "$@"

 echo Dollar star is $* # 空格未保留
echo "Dollar star in double quotes is $*" # 引号内的空格被保留
echo Dollar at is $@ # 空格未保留
echo "Dollar at in double quotes is $@" #引号的空格被保留 echo
echo "Looping through Dollar Star" # 不引用$* 每个单词被当成独立的单词
for i in $*
do
echo "Parameter is $i"
done echo
echo "Looping through Dollar Star with double quotes" # 使用"$*"整个参数列表被当成一个参数
for i in "$*"
do
echo "Parameter is $i"
done echo
echo "Looping through Dollar At" # 不引用的#@与$*一样
for i in $@
do
echo "Parameter is $i"
done echo
echo "Looping through Dollar At in double quotes" # "$@"保留调用者的假设,引号内的作为一个参数,且保留空格
for i in "$@"
do
echo "Parameter is $i"
done

运行命令:

bash 01defaultParam.sh  "hello world" two

执行结果:

Dollar star is hello world two
Dollar star in double quotes is hello world two
Dollar at is hello world two
Dollar at in double quotes is hello world two
 
Looping through Dollar Star
Parameter is hello
Parameter is world
Parameter is two
 
Looping through Dollar Star with double quotes
Parameter is hello world two
 
Looping through Dollar At
Parameter is hello
Parameter is world
Parameter is two
 
Looping through Dollar At in double quotes
Parameter is hello world
Parameter is two

对应新浪博客地址:http://blog.sina.com.cn/s/blog_6941438f0102v8qj.html

linux中预留的$变量的更多相关文章

  1. Linux中PATH环境变量的作用和使用方法

    关于PATH的作用:PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls这个命令根 ...

  2. [转帖]Linux教程(20)- Linux中的Shell变量

    Linux教程(20)- Linux中的Shell变量 2018-08-24 11:30:16 钱婷婷 阅读数 37更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博 ...

  3. Linux有问必答:如何在Linux中修改环境变量PATH

    提问: 当我试着运行一个程序时,它提示“command not found”. 但这个程序就在/usr/local/bin下.我该如何添加/usr/local/bin到我的PATH变量下,这样我就可以 ...

  4. Linux中的环境变量PATH

    一.介绍 在讲环境变量之前,先介绍一下命令which,它用于查找某个命令的绝对路径,示例如下: 在上面的示例中,用which查到rm命令的绝对路径为/usr/bin/rm. 那么问题来了:为什么我们使 ...

  5. Linux中配置环境变量

    Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...

  6. Linux中修改环境变量及生效方法

    在/etc/profile文件中添加变量[对所有用户生效(永久的)] 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”. 要让刚才的修改马上生 ...

  7. Linux中修改环境变量

    <1>Linux 的变量作用范围可分为两类:环境变量和本地变量 环境变量,或者称为全局变量,存在与所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux ...

  8. 在Linux中设置php变量的方法

    默认情况下已经安装好了PHP环境,并且知道安装好后的PHP文件路径,然后可以通过以下的方式设置PHP变量,快速执行PHP命令运行PHP文件. 环境:centos 第一步:vi ~/.bash_prof ...

  9. linux中的环境变量

    linux中用到很多的环境变量的设置,这里推荐一个博客: http://www.cnblogs.com/mengyan/archive/2012/09/04/2669894.html

随机推荐

  1. 深入浅出Java回调机制

    本文转载自http://hellosure.iteye.com/blog/1130176 在网上看到了一个比喻,觉得很形象,这里借用一下: 你有一个复杂的问题解决不了,打电话给你的同学,你的同学说可以 ...

  2. Oracle java.sql.SQLException: 数字溢出

    六月 30, 2016 5:47:47 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinit ...

  3. 使用Java数组实现双色球选号

    package com.hm.test; import java.util.Random; /** * 模拟双色球生成 * *1.从1到16中产生一个篮球的随机数 *2.从1到33中产生出6个红色的球 ...

  4. Java集合中Comparator和Comparable接口的使用

    在Java集合中,如果要比较引用类型泛型的List,我们使用Comparator和Comparable两个接口. Comparable接口 -- 默认比较规则,可比较的 实现该接口表示:这个类的实例可 ...

  5. 14. javacript高级程序设计-表单

    1. 表单脚本 1.1 基础知识 <from>元素表示表单: l acceptCharset:服务器能处理的字符集 l action:接受请求的URL l elements:表单中所有控件 ...

  6. Effective C++ -----条款36:绝不重新定义继承而来的non-virtual函数

    绝对不要重新定义继承而来的non-virtual函数.

  7. 【python】入门学习(三)

    for循环 for i in range():   #注意冒号 range中默认从0开始 或者从指定的数字开始 到给定数字的前一个数字结束 递增递减皆是如此 for循环提供变量的自动初始化 for i ...

  8. osgconv 将多个模型合成一个模型

    osgconv a.osg b.osg c.osg BigOne.ive 以上命令的作用是将a.osg.b.osg.c.osg三个模型合并到BigOne.ive模型

  9. 控制器与xib关联(用xib布局控制器)

    IOS Xib使用——为控制器添加Xib文件 Xib文件是一个轻量级的用来描述局部界面的文件,它与StoryBoard类似,都是使用Interface Bulider工具进行编辑.但是StoryBoa ...

  10. windows一个目录下最大文件数目

    对于FAT16文件系统, 可以保存的文件体积最大值是 4 GB - 1 byte (2^32 bytes - 1 byte): 卷的最大体积是4GB:每个卷上最多可以保存的文件数量是65,536个 ( ...