Terminology
將解析分為簡單和復雜是否正確?
我將“欄位拆分”(或“單詞拆分”)理解為更廣泛的名為解析的過程的一個可能部分,而欄位拆分是通過欄位分隔程序(例如 Bourne shell 上的 IFS 和衍生工具)在各種 shell 中進行解析時完成的。
將解析分為簡單和復雜是否正確,而簡單不包括“欄位拆分”而復雜呢?
我強烈推薦POSIX 的 Shell Command Language 部分,它詳細指定了 shell 應該如何解析其輸入。
欄位拆分是單詞擴展的一個組成部分,它是 shell 中命令行解析的一小部分。欄位拆分僅適用於某些單詞擴展(波浪號擴展、參數擴展、命令替換和算術擴展)的結果。
解析本身總是涉及以一種或另一種形式進行輸入拆分;這通常被稱為詞法分析或標記化,並且可以合併到解析中(這被稱為無掃描解析)。在 shell 中,標記化發生在欄位拆分之前;請參閱令牌辨識。
鑑於欄位拆分是整個解析的一小部分,根據欄位拆分是否發生來確定解析是簡單還是複雜似乎並不那麼重要。