Bash
bash(或 zsh)是否“正式”要求在腳本中使用製表符進行縮進?
我最近遇到了以下聲明(來源;強調添加):
對於 shell 腳本,使用製表符不是偏好或風格的問題;這就是語言的定義方式。
我試圖理解這種說法。當然,它的措辭有點鬆散1,但我想知道它是否有任何道理。
特別是,我想知道 bash 或 zsh(我經常為其編寫腳本的兩個 shell)的官方文件是否有任何接近授權或建議使用製表符縮進原始碼的內容。(我希望明確引用本文件中的支持段落。)
(FWIW,讓我指出,我知道,在實踐中,bash 和 zsh 都容易解釋不是專門用製表符縮進的腳本。因此,我不希望任何一個 shell 的文件走得更遠如果他們提到這件事,而不是強烈的建議。)
1一方面,它同時指代“shell 腳本”和“語言”,這與目前使用的多個 shell 的事實相矛盾,每個 shell 都定義自己的語言。
據我了解,該聲明是專門在此處文件的上下文中提出的,並且該
<<-
表格專門去除了前導標籤:如果重定向操作符是“
<<-
”,則所有前導 <tab> 字元都應從輸入行和包含尾隨分隔符的行中去除。請注意,該答案中的第二個腳本不使用製表符,如果作者認為使用製表符需要縮進,這將是令人驚訝的。