shell中一些特殊变量的涵义

讲一讲在shell中一些特殊变量的涵义,首先来看一个脚本:

 
  1. #!/bin/sh 
  2. echo "\$#:$#" 
  3. echo "\$0:$0" 
  4. echo "\$1:$1" 
  5. echo "\$2:$2" 
  6. echo "\$@:$@" 
  7. echo "\$*:$*" 
  8. echo "\$$:$$" 
  9. echo "\$?:$?" 

保存脚本为: test.sh,来看下执行结果

test.sh执行结果 【by 陆小K网络工作室 】

从结果我们可以看出:

$# 传给脚本的参数个数
$0 脚本本身的名字
$1 传递给该shell脚本的第1个参数
$2 传递给该shell脚本的第2个参数
$@ 传给脚本的所有参数的列表
$* 以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 脚本运行的当前进程ID号
$? 命令执行结果反馈,0表示执行成功,其余数字表示执行不成功。