#( 在 shell case 语句中
Posted
技术标签:
【中文标题】#( 在 shell case 语句中【英文标题】:#( in shell case statement 【发布时间】: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 ... #(
和;; #(
。我相信这是让编辑正确处理)
大括号。
【参考方案1】:
是的,一行中#
之后的任何内容都被视为注释。请参阅 this 了解 switch case 语法。
【讨论】:
以上是关于#( 在 shell case 语句中的主要内容,如果未能解决你的问题,请参考以下文章