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

    1.用户自定义变量 只能在当前shell生效

    1. 赋值 有空格框起来
      var='hello word'
      var="hello word"
    2. 显示 拼接的时候用{}
    echo $var
    hello word
    echo $var_log
    hello word_log
    

    2.系统变量

    1)打印系统所有的变量

    [root@rstx-53 ~]# export
    declare -x HISTCONTROL="ignoredups"
    declare -x HISTSIZE="1000"
    declare -x HOME="/root"
    
    1. export 把自定义变量转变为当前窗口的环境变量
    [root@rstx-53 ~]# sh -x test.sh 
    + echo
    
    [root@rstx-53 ~]# export var='hello word'
    [root@rstx-53 ~]# sh -x test.sh 
    + echo hello word
    hello word
    

    3.变量参数的特殊用法

    [root@rstx-53 ~]# cat test.sh 
    #!/bin/bash
    echo "The name of the script     $0"    #执行脚本的名称
    echo "one                        $1"    #第一个参数
    echo "two                        $2"    #第二个参数
    echo "three                      $3"    #第三个参数
    echo "parameter all              $*"    #显示全部参数   “$*”后 所有参数当做一个整体
    echo "parameter all              $@"    #显示全部参数   "$@"后 所有参数不会当做一个整体 当做一个字符串依次返回
    echo "parameter num              $#"    #显示参数的个数
    echo "pid       num              $$"    #显示执行脚本的pid
    echo "Command Execution Result   $?"    #显示命令的执行结果
    
    
    
    
    
    [root@rstx-53 ~]# sh test.sh 1 2 3 4 5 6
    The name of the script     test.sh
    one                        1
    two                        2
    three                      3
    parameter all              1 2 3 4 5 6
    parameter all              1 2 3 4 5 6
    parameter num              6
    pid       num              30428
    Command Execution Result   0
    

    4.交互式传递变量

    1)read

    [root@rstx-53 ~]# cat read.sh 
    #!/bin/bash
    read -p "please input vars: "  read_vars
    echo " vars is $read_vars"
    [root@rstx-53 ~]# sh read.sh 
    please input vars: 1
     vars is 1
    

    通过read交互式输入ip 检测ip是否在线

    [root@localhost ~]# cat check_ip.sh 
    #!/bin/bash
    read -p "Please Input Ip: " Ip
    ping -c 2 $Ip >/dev/null
    if [ $? = 0 ];then
      echo "$Ip is alived"
    else 
       echo "$Ip is failed"
    fi
    

    变量替换切片

    定义变量

    [root@localhost ~]# vars=www.baidu.com.cn
    [root@localhost ~]# echo $vars
    www.baidu.com.cn
    

    1)${vars#匹配规则} PS:从头开始匹配 最短删除

    [root@localhost ~]# echo ${vars#*.}
    baidu.com.cn
    

    2)${vars##匹配规则} PS:从头开始匹配最长删除

    [root@localhost ~]# echo ${vars##*.}
    cn
    

    3)${vars%匹配规则} PS: 从尾开始匹配最短删除

    [root@localhost ~]# echo ${vars%.*}
    www.baidu.com
    

    4)${vars%%匹配规则} PS:从尾开始匹配最长删除

    [root@localhost ~]# echo ${vars%%.*}
    www
    

    5)${vars/旧字符串/新字符串} PS:替换变量内的旧字符串为新字符串 只替换第一个

    [root@localhost ~]# echo ${vars/c/a}
    www.baidu.aom.cn
    

    6)${vars//旧字符串/新字符串} PS:替换变量内的旧字符串为新字符串 全部替换

    [root@localhost ~]# echo ${vars//c/a}
    www.baidu.aom.an
    

  • 相关阅读:
    permission 文档 翻译 运行时权限
    TabLayout ViewPager Fragment 简介 案例 MD
    Log 日志工具类 保存到文件 MD
    OkHttp 官方wiki 翻译 MD
    Okhttp 简介 示例 MD
    OkHttp 官方Wiki之【使用案例】
    DialogPlus
    倒计时 总结 Timer Handler CountDownTimer RxJava MD
    RecyclerView 判断滑到底部 顶部 预加载 更多 分页 MD
    CSS3的媒体查询(Media Queries)与移动设备显示尺寸大全
  • 原文地址:https://www.cnblogs.com/yangtao416/p/14794493.html
Copyright © 2011-2022 走看看