我从未使用扩展保存过任何 bash 脚本,最近我刚刚将一个 bash 脚本推送到 Github,发现它没有正确突出显示正确的语法,例如:注释、变量、循环等。Github 甚至将脚本标记为 Javascript 文件,并且没有读取指令#!/bin/bash
。我该如何解决这个问题并确保我的脚本在 Github 上被正确地解释为 Bash 脚本?
答案1
Github 查找 shebang 解释器指令。这是文件顶部的一行,指定应使用哪个解释器来运行脚本。
此类指令的一个例子是:
#!/bin/bash
Github 将突出显示包含此类指令的脚本,以及带有 .sh 扩展名的脚本(以及一些其他脚本)。
您的示例脚本是已识别正确由 github 提供,但它是突出显示错误地。这表明你以某种方式触发了他们的解析器中的错误,语言学家。我会就此事与语言开发人员联系。
答案2
查看 GitHub 的“linguist”的源代码 [1],它需要一个.sh
扩展 [2]
我们在 GitHub 上使用这个库来检测 blob 语言,突出显示代码,忽略二进制文件,抑制差异中的生成文件并生成语言细分图。
(重点是我加的)
[1]https://github.com/github/linguist
[2]https://github.com/github/linguist/blob/master/lib/linguist/languages.yml#L1190