zoukankan      html  css  js  c++  java
  • 1.Shell特殊位置变量

    $0    文件名及路径

    $1,$2    参数1,参数2 , 也可以用${1}  和 ${2} 来表示

    $#    传递给脚本或函数的参数个数

    $$    当前Shell进程ID

    $?    判断上个命令的执行成功与否,0为成功。

    $@    传递脚本或函数的所有参数

    $*    传递脚本或函数的所有参数

    ${}

    注:

    1.$@和$*都是传递脚本或函数的所有参数。被双引号" "包含时,两者有区别如下

    [root@web01 shell]# cat 007.sh

    #!/bin/bash

    for var in “$@”    # 参数当做列表传给$@

    do

    echo "$var"

    done

    [root@web01 shell]# sh 007.sh feng cx xiao

    feng

    cx

    xiao

    [root@web01 shell]# cat 007.sh

    #!/bin/bash

    for var in "$*"     # 参数当做字符串传给$*

    do

    echo "$var"

    done

    [root@web01 shell]# sh 007.sh feng cx xiao

    feng cx xiao

    2.$var和${var}区别

    如:当你要显示变量值加随意的字符时

    echo $var_AA          $var会将后面的_AA也当做变量的一部分

    echo ${var}_AA        ${var}不会将后面的_AA当作变量的一部分

    3.${@:2} 在shell脚本中代表什么意思

    示例:

    #!/bin/bash
    
    echo ${@:2}
    
    variable=${@:3}
    echo $variable
    

    运行

    ./ex.bash 1 2 3 4 5
    2 3 4 5
    3 4 5
    

    获取指定位置之后的参数列表(例如ip列表),可以用来进行for循环。

  • 相关阅读:
    spring注解事务管理
    Spring切入点表达式常用写法
    JPA和事务管理
    maven仓库
    struts2拦截器
    js中 转义字符
    jquery中变量加$和不加$有什么区别!
    spring大乱炖
    第一章 java多线程
    CS:APP 05 笔记
  • 原文地址:https://www.cnblogs.com/robinunix/p/11635278.html
Copyright © 2011-2022 走看看