代码之家  ›  专栏  ›  技术社区  ›  Paebbels

bash for循环如何读取脚本参数?[复制品]

  •  0
  • Paebbels  · 技术社区  · 7 年前

    通常,脚本参数是从 $1 , $2 ,…
    有时这与 shift 和A while -环和 case -处理多个参数的语句。

    while [[ $# > 0 ]]; do
      case "$1" in
        -v|--verbose)
          VERBOSE=1
          ;;
        -d|--debug)
          VERBOSE=1
          DEBUG=1
          ;;
        *)      # unknown option
          echo 1>&2 -e "${COLORED_ERROR} Unknown command line option '$key'.${ANSI_NOCOLOR}"
          exit 1
          ;;
      esac
      shift # parsed argument or value
    done
    

    今天,我发现了一个基于 for -循环:

    #! /bin/bash
    for opt; do
      echo $opt
    done
    

    执行:

    $ ./test.sh foo bar spam
    foo
    bar
    spam
    

    通常,人们会看到 for i in ...; do .
    为什么/如何简化 对于 -循环访问脚本参数?

    它是否也与函数中的参数一起工作?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Cyrus    7 年前

    help for :

    如果 in WORDS ...; 不存在,那么 in "$@" 假设。