zoukankan      html  css  js  c++  java
  • shell变量

    变量的类型

    1.自定义变量

    定义变量:变量名 = 变量值 变量名必须以字母或者下划线开头,区分大小写

    引用变量:$变量名或$(变量名)

    查看变量:echo $变量名 set(所有变量:包括自定义变量和环境变量)

    取消变量:unset 变量名

    作用范围:仅在当前shell中有效

    2.环境变量

    定义环境变量:方法1 export back_dir = /home/backup 方法2 export back_dir1将自定义变量转换成环境变量

    引用环境变量:$变量名或$(变量名)

    查看环境变量:echo $变量名 env 例如 env | grep back_dir

    取消环境变量:unset 变量名

    变量作用范围:在当前shell和子shell有效

    变量的赋值方式:

    1.显示赋值

    变量名 =变量值

    示例:

    [root@localhost ~]# ip=192.168.244.130
    [root@localhost ~]# echo $ip
    192.168.244.130

    2.read 从键盘读入变量值

    read 变量名

    read -p “提示信息”  变量名

    read -t 5 -p“提示信息”  变量名

    read -n 2 变量名

    [root@localhost ~]# cat ping01.sh 
    #!/usr/bin/env bash
    #host_ip=192.168.244.130
    read host_ip
    
    if ping -c1 $host_ip &>/dev/null;then 
        echo "$host_ip is up"
    else
        echo "$host_ip is down"
    fi
    [root@localhost ~]# sh ping01.sh 
    192.168.244.130
    192.168.244.130 is up

    定义变量时注意事项

    “” 弱引用

    '' 强引用

    [root@localhost ~]# echo "${name} is good"
    wwb is good
    [root@localhost ~]# echo '${name} is good'
    ${name} is good

    ·· 反引号命令替换 反引号中的命令会优先执行相当于$()

    [root@localhost ~]# disk_free=`df -Ph | grep /$ | awk '{print $5}'`
    [root@localhost ~]# echo $disk_free
    34%
    [root@localhost ~]# disk_free=$(df -Ph | grep /$ | awk '{print $5}')
    [root@localhost ~]# echo $disk_free
    34%

    变量的处理

    [root@localhost ~]# url=www.sina.com.cn
    [root@localhost ~]# echo ${#url}
    15
    [root@localhost ~]# echo ${url#*.}
    sina.com.cn
    [root@localhost ~]# echo ${url##*.}
    cn
    [root@localhost ~]# echo ${url%.*}
    www.sina.com
    [root@localhost ~]# echo ${url%%.*}
    www
    [root@localhost ~]# echo ${url:0:5}
    www.s
    [root@localhost ~]# echo ${url:5}
    ina.com.cn
    [root@localhost ~]# echo ${url:4:7}
    sina.co
    [root@localhost ~]# echo ${url/n/N}
    www.siNa.com.cn
    [root@localhost ~]# echo ${url//n/N}
    www.siNa.com.cN
  • 相关阅读:
    闯荡Linux帝国:nginx的创业故事
    一个HTTP数据包的奇幻之旅
    远去的传说:安全软件群雄混战史
    默认浏览器争霸传奇
    浏览器主页锁定之战——IE:我太难了
    产品vs程序员:你知道www是怎么来的吗?
    手把手教你从零开始搭建SpringBoot后端项目框架
    使用IntelliJ IDEA新建Java Web后端resfulAPI模板
    如何正确的在项目中接入微信JS-SDK
    html2canvas关于图片不能正常截取
  • 原文地址:https://www.cnblogs.com/weiwenbo/p/6700115.html
Copyright © 2011-2022 走看看