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
  • 相关阅读:
    各类免费资料及书籍索引大全(珍藏版)
    转—如何写一篇好的技术博客
    如何写技术博客
    Spring + Spring MVC + Mybatis 框架整合
    Httpclient 4.5.2 请求http、https和proxy
    HttpClient4.5.2 连接池原理及注意事项
    php加密数字字符串,使用凯撒密码原理
    php 阿里云视频点播事件回调post获取不到参数
    Nginx代理后服务端使用remote_addr获取真实IP
    记录:mac的浏览器访问任何域名、网址都跳转到本地127.0.0.1或固定网址
  • 原文地址:https://www.cnblogs.com/weiwenbo/p/6700115.html
Copyright © 2011-2022 走看看