【发布时间】:2014-01-04 16:46:33
【问题描述】:
在我遇到的sh 脚本中,我找到了这些行
#\
MAKE_LINTIAN_HAPPY '
接近开头。
从标识符的名称中,很清楚为什么要添加它。但是我的问题是:为什么这个 sh 代码是合法的,它有什么作用(如果有的话)?
我问的原因是它在此脚本上呈现GNU's source-highlight 无用,因为它会将勾选后的所有文件解释为字符串。如果我知道为什么它是合法的,可能会建议对语言定义文件进行编辑以解决此问题。
我尝试在 man 页面中搜索 sh 以寻找线索
$ man sh|grep "\W'\W"
但所有匹配项似乎都没有帮助(虽然有很多匹配项,所以如果有的话我可能会错过)。
我也不懂#\;我不知道这是否与这个问题无关。 (Vim 会将#\ 之后的行作为注释进行语法着色,但一个简单的测试表明sh 确实执行了#\ 之后的行。)
这是脚本开头的扩展摘录:
#!/bin/sh
# [...]
#\
exec tclsh $0 -- "$@"
#\
MAKE_LINTIAN_HAPPY '
set PROG_VERSION "v1.27 17/06/2005"
【问题讨论】:
-
"Lintian 是一个辅助工具,与 Debian 软件包管理系统 dpkg 一起使用。"见lintian.debian.org。祝你好运。
-
有以前的
'吗? -
如果删除
MAKE_LINTIAN_HAPPY行,lintian 会产生什么样的警告? -
@karoly-horvath:我不知道什么警告,我从未使用过 lintian。不 - 有问题的行上的 ' 是文件中第一次出现的 '。
-
好吧,如果你有兴趣,你应该检查一下。并且...有结束语吗?