Shell变量:自定义变量(三)

1、实例:

  • 编写测试主机在线的脚本,当主机在线提示在线,当主机不在线提示不在线。

  • 使用变量前:

  • [root@localhost ~]#  vim ping.sh    #编写程序
    ping -c1 192.168.151.161 &> /dev/null && echo 192.168.151.161up || echo 192.168.151.161down    
    #&&和||是三目表达式:&&前面的命令成功。执行后面的命令,||前面的命令失败,执行后面的命令
    
    [root@localhost ~]# chmod +x ping.sh    #授权脚本
    
    [root@localhost ~]# ./ping.sh     #执行脚本
    

    如果更换测试ip。需要修改脚本的三个部分。

    •  

  • 使用变量后:

    • [root@localhost ~]# vim ping.sh    #编写脚本
      #!/bin/bash 
      ip=192.168.151.1 
      ping -c1 $ip &> /dev/null && echo "$ip up" || echo "$ip down"
      
      
      [root@localhost ~]# chmod +x ping.sh    #授权脚本
      
      
      [root@localhost ~]# ./ping.sh    #执行脚本

      添加变量后,修改一处即可

2、交互定义变量:

  • read从键盘读入变量值,命令格式:read 变量名

    示例:
    • [root@localhost ~]#  vim ping.sh    #编写程序
      
      read -p "请输入需要测试的IP:" ip
      ping -c1 $ip &> /dev/null && echo "$ip up" || echo "$ip down"
      

  • 注意事项:

    • 3种引号:“ ”弱引用 ' '强引用 ` `优先执行(定义或引用变量时注意事项)

      •         双引号:

        • [root@localhost ~]# schoo=1000 phone
          -bash: phone: 未找到命令
          [root@localhost ~]# schoo="1000 phone"
          [root@localhost ~]# echo $schoo
          1000 phone    #结果
          

          单引号:

          [root@localhost ~]# schoo='$schoo 666'
          [root@localhost ~]# echo $schoo
          $schoo 666    #结果
          
        • 反引号:

          [root@localhost ~]# schoo=`date`
          [root@localhost ~]# echo $schoo
          2023年 11月 10日 星期五 21:24:53 CST    #结果

3、注意: 

    • 变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名需遵守如下规则:

    1. 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

    2. 中间不能有空格,可以使用下划线(_)。

    3. 不能使用标点符号。

    4. 不能使用bash里的关键字(可用help命令查看保留关键字)。

    5. 起变量名,请使用五个字母以上。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值