特殊的shell变量:

$0  获取当前执行的shell脚本的文件名

$n  获取当前执行的shell脚本的第n个参数值,n=1..9

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别

$#  获取当前shell命令行中参数的总个数

$$  获取当前shell的进程号(PID)

$!  执行上一个指令的PID

$?  获取执行的上一个指令的返回值(0 为成功, 非零为失败)

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”

举例(通过脚本举例,大家也可以一行行执行测试):

[ryan@etiantian test]# cat etiantian.sh

echo ‘$0  获取当前执行的shell脚本的文件名:’$0

echo ‘$n  获取当前执行的shell脚本的第n个参数值,n=1..9:’ ‘$1′=$1 ‘$2′=$2 “\$3=$3″

echo ‘$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别:’$*

echo ‘$#  获取当前shell命令行中参数的总个数:’$#

echo ‘$$  获取当前shell的进程号(PID):’$$

sleep 2 &

echo ‘$!  执行上一个指令的PID :’$!

echo ‘$?  获取执行的上一个指令的返回值:’$?

echo ‘$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”:’$@

脚本执行结果(大家仔细看):

[ryan@etiantian test]# sh etiantian.sh 参数1 参数2 参数3

$0  获取当前执行的shell脚本的文件名: etiantian.sh

$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=参数1 $2=参数2 $3=参数3

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: 参数1 参数2 参数3

$#  获取当前shell命令行中参数的总个数: 3

$$  获取当前shell的进程号(PID): 2062

$!  执行上一个指令的PID : 2063

$?  获取执行的上一个指令的返回值: 0

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: 参数1 参数2 参数3

[ryan@etiantian test]# sh etiantian.sh ryan jeacen david

$0  获取当前执行的shell脚本的文件名: etiantian.sh

$n  获取当前执行的shell脚本的第n个参数值,n=1..9: $1=ryan $2=jeacen $3=david

$*  获取当前shell的所有参数 “$1 $2 $3 …注意与$#的区别: ryan jeacen david

$#  获取当前shell命令行中参数的总个数: 3

$$  获取当前shell的进程号(PID): 2160

$!  执行上一个指令的PID : 2161

$?  获取执行的上一个指令的返回值: 0

$@  这个程序的所有参数 “$1″ “$2″ “$3″ “…”: ryan jeacen david

特殊的shell变量:的更多相关文章

  1. shell变量

    定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名 ...

  2. linux中shell变量$#,$@,$0,$1,$2的含义解释

    linux中shell变量$#,$@,$0,$1,$2的含义解释: 变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行 ...

  3. awk使用shell变量

    awk使用shell变量  (可以计算浮点数) 其实在awk里,是不能直接使用shell变量的 方法是:awk -v 选项让awk 里使用shell变量 TIME=60 awk -v time=&qu ...

  4. shell变量详解

    1 shell变量基础 shell变量是一种很"弱"的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如let.de ...

  5. 三、Shell变量类型和运算符

    一.Shell变量的应用 1.Shell变量的种类     ·用户自定义变量:由用户自己定义.修改和使用     ·预定义变量:Bash预定义的特殊变量,不能直接修改     ·位置变量:通过命令行给 ...

  6. Shell入门教程:Shell变量

    变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可 ...

  7. Shell变量的定义与赋值操作注意事项

    1 shell变量是弱类型 * 声明变量不用声明类型 * 可以存储不同类型的内容 * 使用时要明确变量的类型 * 区分大小写 2 变量声明及赋值格式 2.1 格式  变量名=变量值 # 注意等号两侧不 ...

  8. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  9. linux环境几个特殊的shell变量

    特殊的shell变量: $0  获取当前执行的shell脚本的文件名 $n  获取当前执行的shell脚本的第n个参数值,n=1..9 $*  获取当前shell的所有参数 “$1 $2 $3 …注意 ...

  10. 《Linux shell变量总结回顾》RHEL6(转)

    文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [ ...

随机推荐

  1. SPOJ - PERMJUMP Permutation Jumping

    Discription John likes playing the game Permutation Jumping. First he writes down a permutation A of ...

  2. ueditor整合之后前段不显示高亮

    自己整合ueditor插件后,发现在前段显示的时候并没有高亮处理 在网上看了一些方法后,自己尝试了下. 1.在页面上引入相关的js和css文件 主要是以下两个文件 <script src=&qu ...

  3. 使用nginx转发不了静态文件

    从django runserver的请求来看,都收不到静态文件请求, 查看firefox的web console请求,发现都是403 然后发现nginx不在当前用户组,并且当前用户的项目的读写权限是7 ...

  4. Answer&#39;s Question about pointer

    When you create a new pointer, this will be in heap until you delete it.  So what you said is sort o ...

  5. uml精粹——10.状态机图

    10.状态机图state machine diagram   状态机图是常见的描写叙述一个系统行为的技术. 在面向对象的方法中,为单个类绘制一个状态机图来展示单个对象的生命周期行为. 见图10.1 图 ...

  6. java栈、堆

    一.栈.堆 几个小概念 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的 ...

  7. HDU 1028 Ignatius and the Princess III (母函数或者dp,找规律,)

    Ignatius and the Princess III Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K ...

  8. ok6410[000] 搭建裸机开发环境

    1.安装交叉工具链arm-linux-gcc-4.3.2 先把这个工具复制到rhat系统中[rhel-server-6.3-i386-dvd.iso] 解压arm-linux-gcc-4.3.2到一个 ...

  9. android编译遇到问题修改

    (注意要确定安装了jdk) 第一步: cd  lichee; ./build.sh  -p sun5i_elite -k 3.0  (apt-get install uboot-mkimage需要安装 ...

  10. java使用默认线程池踩过的坑(三)

    云智慧(北京)科技有限公司 陈鑫 重新启动线程池 TaskManager public class TaskManager implements Runnable { -.. public TaskM ...