zoukankan      html  css  js  c++  java
  • bash 特殊变量

    脚本参数 $* $@ $N shift

    执行一个脚本时可以传递参数, 事实上每个参数都有对应的变量$0~$9

    ./start.sh  a   b   c

    $0           $1 $2 $3

    当参数超过9时, 使用 "shift N" 来移动除$0之外的参数, 前N个参数就像消失了一样, 不能再被引用了

    shift 1

    ./start.sh  a   b   c

    $0           _  $1 $2

    $@和$*可以快速地向下传递参数

    "$@"最为常用, 不改变参数结构

    "$*"则将整个参数作为一整个参数向下传递

    不用""包裹的话, $@和$*都会将原先的空格稀释掉, 这可能会相当麻烦, 请务必使用"$@"和"$*"

    "$@"和"$*"的区别

    "$*"至少会传递一个参数,即使为空串。

    参数数量 $#

    有时需要知道参数数量, 使用 "$#" 即可. 不包含$0在内.

    Shell进程PID $$

    kill -9 $$ 可以杀死当前正在执行这条语句的Shell进程

    变量作为变量名, 以下是遍历脚本参数的算法

    argc="$#"

    i=0
    while (($i<$argc)); do
    let j=i+1
    echo $(eval echo "$""$j")
    let i++
    done

    shell 脚本关闭通配符

    set -f  //关闭通配符
    echo *
    set +f  //显示通配符

  • 相关阅读:
    ACM士兵排队
    ACM两个士兵打牌
    ACM平衡的括号
    ACM复合词
    ACM第二次比赛( C )
    ACM比赛(第二次A)
    ACM比赛(进制转换)
    ACM比赛(11462 Age Sort)
    ACM比赛
    hdu 1241 Oil Deposits(DFS求连通块)
  • 原文地址:https://www.cnblogs.com/develon/p/10308998.html
Copyright © 2011-2022 走看看