zoukankan      html  css  js  c++  java
  • Linux case 及 函数位置参数

    位置参数
    $0, $1, $2,等等...
    位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
    (具体见Example 4-5 和Example 11-15)
    $#
    命令行或者是位置参数的个数.(见Example 33-2)
    $*
    所有的位置参数,被作为一个单词.
    注意:"$*"必须被""引用.
    $@
    与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,
    并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的
    单词.
    注意:"$@"必须被引用.

    具体见代码:

    #!/bin/bash
    # arglist.sh

    E_BADARGS=65

    if [ ! -n "$1" ]
    then
      echo "Usage: `basename $0` argument1 argument2 etc."
      exit $E_BADARGS
    fi

    echo

    index=1

    echo "Listing args with \"\$*\":"
    for arg in "$*"
    do
      echo "Arg #$index = $arg"
      let "index+=1"
    done
    echo "Entire arg list seen as single word."

    echo

    index=1


    echo "Listing args with \"\$@\":"
    for arg in "$@"
    do
      echo "Arg #$index = $arg"
      let "index+=1"
    done
    echo "Arg list seen as separate words."

    echo

    index=1

    echo "Listing args with \$* (unquoted):"
    for arg in $*
    do
      echo "Arg #$index = $arg"
      let "index+=1"
    done
    echo "Arg list seen as separate words."

    exit 0
    #!/bin/bash
    echo 'begin work '
    binHome=`dirname $0`
    echo $binHome
    cd $binHome
    binHome=`pwd`
    echo $binHome

    workHome=${binHome}/..
    echo $workHome
    b=${workHome}/common/date.sh
    echo $b
    source ${workHome}/common/date.sh
    index=1
    for arg in $*
    do
      if [[ "x$arg" == "x" ]]; then
        exit 1
      else
        case $index in
            1)
                loadDate=$arg
                ;;
            2)
                days=$arg
                ;;
            *)
                execFile=$arg
                execDate=${loadDate}
                for ((i=0;i<days;i=i+1))
                do
                  bash ${execFile} ${execDate}
                  execDate=`dashDateAdd ${execDate} '1'` 
                done
                ;;
        esac
        let "index+=1"
      fi
    done
    exit 0
  • 相关阅读:
    BZOJ 1718: [Usaco2006 Jan] Redundant Paths 分离的路径( tarjan )
    BZOJ 1040: [ZJOI2008]骑士( 树形dp )
    BZOJ 1691: [Usaco2007 Dec]挑剔的美食家( 平衡树 )
    HDU 5667 Sequence 矩阵快速幂
    FZU 2225 小茗的魔法阵 扫描线+树状数组
    UVA 11916 Emoogle Grid 离散对数 大步小步算法
    UVA 11754 Code Feat 中国剩余定理+暴力
    FZU 2092 收集水晶 dp+bfs
    FZU2090 旅行社的烦恼 巧妙floyd 最短路
    UVA 11426 GCD
  • 原文地址:https://www.cnblogs.com/end/p/2538438.html
Copyright © 2011-2022 走看看