Posix

LSB(Linux Standard Base)是否需要行尾的 NEWLINE 字元?

  • June 14, 2020

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 標準的系統上也是如此。

引用自:https://unix.stackexchange.com/questions/592772