Posix
LSB(Linux Standard Base)是否需要行尾的 NEWLINE 字元?
POSIX 和 SUS(單一 UNIX 規範)都將一行定義為
零個或多個非
<newline>
字元加上一個終止<newline>
字元的序列。許多發行版比 POSIX 更面向 LSB。LSB 包括許多 POSIX/SUS 標準,但並非全部。
就 LSB v4.1 而言,行還必須以 NEWLINE 字元結尾嗎?
從“範圍”一章:
Linux 標準庫 (LSB) 為已編譯的應用程序定義了一個系統介面,並為支持安裝腳本定義了一個最小環境。其目的是為符合 LSB 的大容量應用程序提供統一的行業標準環境。
$$ … $$ LSB 主要是二進制介面定義。並非所有可用於應用程序的源級 API 都包含在本規範中。
對於 LSB 沒有定義的東西,例如大多數與標準實用程序的行為有關的東西(某些擴展除外)和基本術語的定義,它指的是 POSIX 標準(這是 LSB 的規範性參考,即LSB 建立在 POSIX 之上)。
POSIX 標準告訴我們一行是
零個或多個非
<newline>
字元加上一個終止<newline>
字元的序列。這意味著文本行必須以換行符結束,即使在符合 LSB 4.1 標準的系統上也是如此。