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
  • 相关阅读:
    (办公)写代码的任务完成后,编写接口文档
    (办公)eclipse连接github cannot open git-upload-pack(git-receive-pack)
    (办公)Spring boot(系列)的返回json封装类
    (办公)重新选择一个开发工具Eclipse
    (办公)项目结构
    (生活)整理电脑文件夹.
    (后台)jxl.read.biff.BiffException: Unable to recognize OLE stream
    (其他)导入密钥
    (后端)根据查询语句修改的update语句
    考研打卡_Day017
  • 原文地址:https://www.cnblogs.com/weiwenbo/p/6700115.html
Copyright © 2011-2022 走看看