shell脚本中的$默认变量


shell脚本中的$默认变量
 
 有一些内部变量,内部变量是Linux所提供的一种特殊类型的变量,这类变量在程序中用来作出判断。在shell程序内这类变量的值是不能修改的。
 
    表示方法                        描述
   $n           $1 表示第一个参数,$2 表示第二个参数 ...
   $#           命令行参数的个数
   $0           当前程序的名称
   $?           前一个命令或函数的返回码,返回0代表成功
   $*            以"参数1 参数2 ... " 形式保存所有参数
   $@          以"参数1" "参数2" ... 形式保存所有参数
   $$           本程序的(进程ID号)PID
 
    我们先写一个简单的脚本,执行以后再解释各个变量的意义 
    # touch variable # vi variable 
    脚本内容如下: 
[plain] 
#!/bin/sh   
echo "number:$#"   
echo "scname:$0"   
echo "first :$1"   
echo "second:$2"   
echo "argume:$@"   
echo "show parm list:$*"   
echo "show process id:$$"   
echo "show precomm stat: $?"   
    保存退出 
  
    赋予脚本执行权限 
    # chmod +x variable 
  
    执行脚本 
    # ./variable aa bb 
 
    结果如下:
[plain] 
number:2   
scname:./variable   
first:aa   
second:bb   
argume:aa bb   
show parm list:aa bb   
show process id:24544   
show precomm stat:0   
  
    通过显示结果可以看到: 
$# 是传给脚本的参数个数 
$0 是脚本本身的名字 
$1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 
$@ 是传给脚本的所有参数的列表 
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个 
$$ 是脚本运行的当前进程ID号 
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误 
 

相关内容

    暂无相关文章