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循环。

  • 相关阅读:
    timerfd与eventfd
    boost--asio
    boost--线程
    boost--线程同步
    C++11--lambda表达式
    Java数据类型中String、Integer、int相互间的转换
    Jsoup网页抓取
    线程池
    Java
    用cmd来向mysql导入sql文件
  • 原文地址:https://www.cnblogs.com/robinunix/p/11635278.html
Copyright © 2011-2022 走看看