bash(或 zsh)是否“正式”强制要求在脚本中使用制表符进行缩进?

bash(或 zsh)是否“正式”强制要求在脚本中使用制表符进行缩进?

我最近看到以下声明(来源;添加了强调):

对于 shell 脚本,使用制表符不是偏好或风格的问题;而是问题。这就是语言的定义方式

我正在尝试理解这一说法。当然,它的措辞有些宽松1,但我想知道它是否有道理。

特别是,我想知道 bash 或 zsh(我经常为其编写脚本的两个 shell)的官方文档是否说了任何接近使用制表符缩进源代码的命令或建议。 (我希望明确引用本文档中的支持段落。)

(FWIW,让我指出,我知道,在实践中,bash 和 zsh 都很容易解释以下脚本:不是仅使用制表符缩进。因此,我不希望任何一个 shell 的文档比强烈建议更进一步,如果他们提到了这个问题的话。)


1一方面,它同时指“shell 脚本”和“语言”,这与当前使用的多个 shell 定义自己的语言的事实相矛盾。

答案1

据我了解,该声明是在此处文档的背景下专门提出的,并且<<-表单专门去除了前导选项卡

如果重定向运算符为“ <<-”,则应从输入行和包含尾随定界符的行中删除所有前导 <tab> 字符。

请注意该答案中的第二个脚本没有使用制表符,如果作者认为使用制表符需要缩进,那将是令人惊讶的。

相关内容