如何用Haskell创建符号链接?

5
如何使用Haskell创建符号链接?据我所知,directory包没有提供这样的方法。

3
System.Posix.Files.createSymbolicLink 函数用于创建符号链接。 - n. m.
@n.m. 欢迎发表回答,除非已经有重复的问题存在。 - Mark Karpov
显然在这里有一个(接近)重复的链接 - n. m.
@n.m. 我认为这个问题更容易通过搜索引擎找到,我认为我们应该保留这个问题。 - Mark Karpov
@Mark:将其标记为重复不会删除此问题。相反,它仍将出现在搜索引擎中。(顺便说一下,我知道我已经在某个地方回答过这个问题:D) - Zeta
2个回答

10

创建符号链接是不可移植的。例如,在Windows上创建符号链接受到限制1。因此,它不适用于提供“以便操纵文件和目录的基本操作,以一种便携式的方式”directory(强调我的)。这会影响所有平台无关的软件包。

特定于平台的软件包unix提供了该功能,其中System.Posix.FilescreateSymbolicLink配合使用:

import System.Posix.Files (createSymbolicLink)

main :: IO ()
main = createSymbolicLink "/opt/ghc/7.10.3" "/opt/ghc/active"

这也是为什么unix-compat没有实现createSymbolicLink的原因之一。


0

目录-1.3.1有

createFileLink :: FilePath -> FilePath -> IO ()

这应该可以在Windows上工作 - 当然只有在合适的文件系统上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接