这是我的片段:
__VERSION="0.0.1"
__COMMAND="${basename}"
__USAGE="$__COMMAND -abc args"
if [ $# == 0 ] ; then
echo "Usage: ${__USAGE}"
exit 1;
fi
每次运行它我都会得到:
Usage: -abc args
当我期望输出为:
Usage: filename -abc args
我试过:
__COMMAND=基名
__COMMAND=基本名称 $0
__COMMAND="$basename"
__COMMAND="${basename}"
__COMMAND="${basename $0}"
虽然在某些情况下错误有所不同,但都没有奏效。
这样做的正确方法是什么?
最佳答案
正确的是关于唯一一个你没有试过的:
__COMMAND=$(basename $0)
但是你根本不需要basename
。你可以只使用 bash 参数扩展:
__COMMAND=${0##*/}
关于bash:如何正确地将 basename 放入字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19235612/