nics 发表于 2018-8-19 09:50:59

shell脚本中$#、$0、$@等特殊变量的含义

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


[*]#!/bin/sh
[*]echo "\$#:$#"
[*]echo "\$0:$0"
[*]echo "\$1:$1"
[*]echo "\$2:$2"
[*]echo "\$@:$@"
[*]echo "\$*:$*"
[*]echo "\$$:$$"
[*]echo "\$?:$?"
  

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

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


页: [1]
查看完整版本: shell脚本中$#、$0、$@等特殊变量的含义