Shell 脚本----浅析变量

  •  Shell 变量的种类

  1.  用户自定义变量: 由用户自己定义、修改和使用
  2.  预定义变量: Bash 预定义的特殊变量,不能直接修改
  3.  位置变量:  通过命令行给程序传递执行参数

  •   定义新的变量     
     
      a.   变量名要以英文字母或者下划线开头,区分大小写
      b.   格式:   变量名=变量值

  •    查看变量的值            
      
        a.   格式: echo $变量名 

Shell 脚本----浅析变量
  

[[email protected] shell]# vim taran.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4
  5 echo "my name is user1"
  6 echo "my name is user1"
  7 echo "my name is user1"
  8 echo "my name is user1"
  9 echo "my name is user1"
Shell 脚本----浅析变量

    
  •   变量的赋值与引用    

     引用变量时 ,$应在{}外,变量在{}里面

Shell 脚本----浅析变量


  1.  从键盘输入内容为变量赋值
            格式:   read   [-p   "信息"]  变量名
Shell 脚本----浅析变量

  1.   结合不同的引号为变量赋值                   
         双引号  “ ”:  允许通过$符号引用其他变量值
             单引号  ‘ ’:   禁止引用其他变量值,$ 视为普字符
             反引号    ` `    :     将命令执行的结果输出给变量


  •      变量的删除
 
    unset + 变量名   删除变量
Shell 脚本----浅析变量
unset   name   删除变量后,执行脚本
Shell 脚本----浅析变量
#unset name   注释后,执行脚本
 Shell 脚本----浅析变量


  •    位置变量       

  1.    位置参数
         表示为 $n,  n为1~9 之间的数字
Shell 脚本----浅析变量

   应用位置变量

  1 #!/bin/bash
  2 #test httpd service
  3
  4 case $1 in
  5      start)
  6      echo "start ......"
  7      ;;
  8      stop)
  9      echo "stop........"
10      ;;
11      restart)
12      echo  "restart ....."
13      ;;
14 esac
~            
      Shell 脚本----浅析变量

2 .    数字运算利用位置变量
  [[email protected] shell]# vim expr.sh
  1 #!/bin/bash
  2 #expr
  3
  4 expr $1 \* $2
  5 expr $1 +  $2                   
    Shell 脚本----浅析变量

 
  •   预定义变量

        1.  $#:   命令行中位置参数的个数
        2.  $* :   所有位置参数的内容
        3.  $? :   上一条命令执行后返回的状态,当返回状态为0时表示执行正常,非0值表示执行异常或者出错
        4.  $0 :    当前执行的进程/程序名


$0 :
[[email protected] shell]# vim text.sh
  1 #!/bin/bash
  2 #test.sh
  3
  4 echo $0
  5 echo $0
  6 echo $0
  7 echo $0
Shell 脚本----浅析变量

 $#:   参数个数
[[email protected] shell]# vim text.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4 echo $#
Shell 脚本----浅析变量

    $* :   参数分别是什么
[[email protected] shell]# vim text.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4 echo "总共有 ${#}个参数,参数分别是:"
  5 echo
  6 echo  $*
  Shell 脚本----浅析变量           
$* : 
[[email protected] shell]# vim text.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4 for i in $*
  5 do
  6    echo $i
  7    sleep 2
  8 done
  Shell 脚本----浅析变量
 
  $* 运算
Shell 脚本----浅析变量
Shell 脚本----浅析变量

    $? :   检查上一条命令 执行成功还是失败

Shell 脚本----浅析变量 
Shell 脚本----浅析变量
Shell 脚本----浅析变量
Shell 脚本----浅析变量
汇总 :
Shell 脚本----浅析变量
Shell 脚本----浅析变量