Shell 脚本----浅析变量

本文详细介绍了Shell中的各种变量类型,包括用户自定义变量、预定义变量和位置变量,并讲解了如何定义、引用及删除变量,同时提供了实用的例子来帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  Shell 变量的种类

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

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

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

  

[root@PengFay 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"


    
  •   变量的赋值与引用    

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



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


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


  •      变量的删除
 
    unset + 变量名   删除变量

unset   name   删除变量后,执行脚本
#unset name   注释后,执行脚本
 


  •    位置变量       

  1.    位置参数
         表示为 $n,  n为1~9 之间的数字

   应用位置变量

  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
~            
      

2 .    数字运算利用位置变量
  [root@PengFay shell]# vim expr.sh
  1 #!/bin/bash
  2 #expr
  3
  4 expr $1 \* $2
  5 expr $1 +  $2                   
    

 
  •   预定义变量

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


$0 :
[root@PengFay shell]# vim text.sh
  1 #!/bin/bash
  2 #test.sh
  3
  4 echo $0
  5 echo $0
  6 echo $0
  7 echo $0

 $#:   参数个数
[root@PengFay shell]# vim text.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4 echo $#

    $* :   参数分别是什么
[root@PengFay shell]# vim text.sh

  1 #!/bin/bash
  2 #test.sh
  3
  4 echo "总共有 ${#}个参数,参数分别是:"
  5 echo
  6 echo  $*
             
$* : 
[root@PengFay 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
  
 
  $* 运算


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

 


汇总 :

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值