2012-03-16 35 views
0

假設我們有一個文件/root/file.ini。如何啓用linux支持雙反斜槓「\」作爲路徑分隔符

在Ubuntu的外殼,就可以顯示與此命令, 少/root\\file.ini內容

然而,在Debian的外殼,下面的命令會報告該文件不存在。

有沒有人碰巧知道如何讓linux支持「\\」作爲路徑分隔符?我需要解決它,因爲我們有一個軟件,它試圖使用「\\」來訪問文件。它在ubuntu中工作正常,但不在debian中。

感謝

+0

這聽起來很奇怪..會嘗試在Ubuntu上。你有沒有檢查過Ubuntu的shell全局和用戶設置? – 2012-03-16 08:55:27

+0

你爲什麼要這樣? – 2012-03-16 08:59:22

+0

軟件使用反斜線來連接路徑字符串和文件名字符串(從日誌中獲取)。現在更新它是不合適的,所以我試圖解決它。 – Kert 2012-03-17 09:48:09

回答

1

你試過「\\\\」(4個反斜槓)第一和第三個轉義和第二個和最後一個統治他們?

2

Linux無法支持\作爲路徑分隔符(儘管也許它可能會對內核進行大量更改)。這是因爲\是有效的文件名字符。實際上,不允許作爲文件名的一部分的字符是/\0(空字符)。

如果這似乎ubuntu下進行工作,那麼我會檢查是否有一個名爲root\file.ini文件是否存在在/

我相信你可能會發現更容易做出獨立程序的平臺。

我發現這個forum post其中規定/是ANSI C平臺無關的路徑分隔符的任何文件操作將自動轉換/到主機操作系統上使用的實際路徑分隔符。

+0

它應該是雙反斜槓,而不是單斜槓。 「\\」(有時我必須在堆棧溢出中輸入4個反斜槓:( – Kert 2012-03-17 09:46:13

相關問題