3

在 bash 中使用 getopt 的常用示例如下

args=`getopt abo: $*`
errcode=$?
set -- $args

最后一行实现了什么?

4

2 回答 2

5

很好地解释了它。本质上,它是将具有多个标志的单个参数分解为多个参数,每个参数具有单个标志:

您是否将脚本称为

script -ab

或作为

script -a -b

之后set -- $args, $1will be-a$2will be -b. 它使处理更容易。

顺便说一句,getopts好多了

于 2012-10-19T21:18:00.363 回答
4

set更新脚本的位置参数。

#! /bin/bash
echo "$*"
set -- $1 baz
echo "$*"

如果使用 调用此脚本/path/to/script foo bar,则输出为:

foo bar
foo baz
于 2012-10-19T21:09:55.373 回答