【发布时间】:2014-04-03 15:18:26
【问题描述】:
请有人告诉我以下脚本中的连字符运算符是什么?
[ "${MYDATA_OPT-}" ] && set "$MYDATA_OPT" "$@"
data=${MYDATA_VER-1}
是否有这些运算符的快速文档?
我也在尝试理解下面的脚本
shift $(($OPTIND -1))
和
while getopts vhx: c; do
case "$c" in
v) let data=data+1 ;;
h) usage ; exit 0 ;;
x) . $OPTARG ;;
\?) usage ; exit 2 ;;
*) usage ; exit 2 ;;
esac
done
非常感谢。
【问题讨论】:
-
提示 - 一旦你弄清楚了,在解释它的代码中添加注释!始终考虑将在您之后维护代码的人。如果原作者这样做了,那会节省你的时间,对吧?
-
同意.. 我正在尝试淘汰此遗留代码并尝试编写新代码。我会确保我添加 cmets 来帮助其他人:)
-
这是 POSIX shell 的一个相当常规但并不广为人知的特性。实际上在注释中记录它与将“# Adds to the variable”添加到像
i++这样的行没有什么不同。我完全赞成评论棘手的逻辑补丁,而不是语言语法。
标签: bash shell unix operators getopts