【发布时间】:2019-08-31 21:47:52
【问题描述】:
我试图通过阅读并尝试理解每个语句的作用来了解 gimp 源代码中的配置脚本是如何工作的。我在文件的开头遇到了一个将posix设置为on的case语句。我不明白“#(”是什么意思。是评论还是别的什么?
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
【问题讨论】:
-
这是一条评论。在文件中使用平衡括号通常很有用(对于跳转到匹配大括号的编辑器),注释的目的是匹配下一个案例末尾的
)。 -
较新的
bash允许您改写(*posix*)来实现相同的目的。 -
@WilliamPursell 非常感谢,我以为是这样,但我想确定一下。
-
为什么不直接做
set -o posix呢?有什么理由这样做case开关吗?为什么要set -o然后检查*posix*? -
@user3625976 如果你愿意link to the original script,这个问题会更好。查看脚本和commit,它看起来只是carlobaldassi 在bash 中的一种修饰方式,他使用
case ... #(和;; #(。我相信这是让编辑正确处理)大括号。
标签: bash configure autotools automake