3

这是我的片段:

__VERSION="0.0.1"
__COMMAND="${basename}"
__USAGE="$__COMMAND -abc args"
if [ $# == 0 ] ; then
    echo "Usage: ${__USAGE}"
    exit 1;
fi

每次我运行它时,我都会得到:

用法:-abc 参数

当我期望输出为:

用法:文件名 -abc args

我试过了:

__COMMAND=基本名称

__COMMAND=基本名称 $0

__COMMAND="$basename"

__COMMAND="${basename}"

__COMMAND="${basename $0}"

尽管在某些情况下错误有所不同,但它们都没有奏效。

这样做的正确方法是什么?

4

1 回答 1

8

正确的一个是您唯一没有尝试过的:

__COMMAND=$(basename $0)

但你根本不需要basename。您可以只使用 bash 参数扩展:

__COMMAND=${0##*/}
于 2013-10-07T22:11:23.133 回答