2. 將三者加起來 (1)manpage (2)stackoverflow那個問題的第二篇回應 (3)以上測試
(1)
Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory.
(2)
As to the why of it, imagine if the symlink were instead interpreted relative to its source rather than its destination. When later resolving it, you would need to know what your CWD was when you created it, which is nonsensical, let alone impossible.
個人的解讀:
- "if later resolved" 表示resolve symlink是在要讀取時才會發生,而不是在前面執行ln的階段。
- "a relative link is interpreted in relation to its parent directory" (假設relative link是以 "../" 開頭的symlink),則表示resolve階段是與symlink所在目錄有關,而與執行ln指令執行時所在目錄(CWD)無關 (因為也無法知道當時的CWD了)。
個人感想: "a relative..." 那段,如果只看字面意思,好像有點廢話(就是因為相對於parent dir,所以才叫relative link吧...有什麼好講的),感覺要表達的重點,反而是沒講出來的部分?
當然,以上屬個人推測,不確定是否符合manpage作者的原意。