脚本中变量赋值和获取脚本参数的方法

  1. 一:变量的赋值 
  2. 1:常见的变量声明和赋值 
  3.     首先是变量的声明: 
  4.     linux的脚本中使用变量可以不用先声明,而可以直接使用 
  5.     不过如果声明一个变量可以使用declare  
  6.     declare  -i  n :声明一个整型的变量n  
  7.     declare  -a  n :声明一个数组n 
  8.     declare  -x  n :声明一个环境变量n(用法同export) 
  9.      
  10.     对变量的赋值采用 variable=value的方式进行。 
  11. 2:在脚本中除了传统的方式赋值之外还可以这样子 
  12. ${variable:=value}:如果变量variable的值存在,使用variable本身的值,如果变量variable的值为空,则将value赋值于variable 
  13.  
  14. ${variable:-value}:如果变量variable的值存在,使用variable本身的值,如果变量variable的值为空,则将value展开(而非赋值于variable) 
  15.  
  16. ${variable:?value}:如果变量variable的值存在,使用variable本身的值,如果变量variable的值为空,则显示value(而非赋值于variable) 
  17.  
  18. ${variable:+value}:如果变量variable的值存在,则显示value,如果变量variable的值为空,则不做任何操作。 
  19.  
  20.  
  21. 二:获取脚本执行的参数个数
  22. 例如 ./test a  
  23.      ./test a b  
  24.      ./test a b c 等等 
  25.      要想获取 ./test 后面的参数个数可以通过$# 获取 
  26. 比如下面的一个简单的脚本 judge_scripts_parameter.sh
  27. #!/bin/bash 
  28. if [ $# = 1 ]; then 
  29.     echo "your parameter is one" 
  30. elif [ $# = 2 ];then 
  31.     echo "your parameter is two" 
  32. elif [ $# = 3 ];then 
  33.     echo "your parameter is three" 
  34. else 
  35.     echo "your parameter is too much" 
  36. fi
  37. 结果如下:
  38. [root@localhost scripts]# ./judge_scripts_parameter.sh
    your parameter is too much
    [root@localhost scripts]# ./judge_scripts_parameter.sh a
    your parameter is one
    [root@localhost scripts]# ./judge_scripts_parameter.sh a b
    your parameter is two
    [root@localhost scripts]# ./judge_scripts_parameter.sh a b c
    your parameter is three