在 cygwin bash 上创建名称中带有冒号的符号链接

在 cygwin bash 上创建名称中带有冒号的符号链接

我在 cygwin 上使用 bash,版本 4.3.42(4)-release (i686-pc-cygwin)。我想创建一个符号链接,C: -> /cygdrive因为 vagrant 构建过程指定了该文件路径。 vagrant 脚本已经创建了一些名为的文件系统实体C:

$ ls -lha
total 8.0K
drwxrwxr-x+ 1 user Domain Users 0 Oct 27 15:55 .
drwxrwxr-x+ 1 user Domain Users 0 Oct 27 15:55 ..
drwxrwxr-x+ 1 user Domain Users 0 Oct 27 14:59 C:

但它实际上并未链接到 C: 驱动器:

$ ls C:

$

这个C:东西可以在其他基于 的 shell 中工作cmd.exe,比如 msysgit,但是 cygwin 不理解它。

#<R10K::Task::Module::Sync:0x38c6010> failed while running: Command git --git-dir C:/cygwin/home/user/vagrant/puppet/modules/profile/.git --work-tree C:/cygwin/home/user/vagrant/puppet/modules/profile remote set-url cache C:/cygwin/home/user/.r10k/git/[email protected] exited with 128: fatal: No such remote 'cache'

但该文件存在:

$ ls puppet/modules/profile/.git
config  description  HEAD  hooks  index  info  logs  objects  packed-refs  refs

C:我在指定文件名时遇到问题。

$ ln -s /cygdrive/c "C:"
ln: target ‘C:’ is not a directory: No such file or directory
$ ln -s /cygdrive/c C\:
ln: target ‘C:’ is not a directory: No such file or directory
$ ln -s /cygdrive/c "C\:"
ln: failed to create symbolic link ‘C\\:’: No such file or directory
$ cdrive="C:"
$ ln -s /cygdrive/c $cdrive
ln: target ‘C:’ is not a directory: No such file or directory

我怎样才能创建这个符号链接?

编辑关于小写字母的评论中建议的解决方案c:在我的流浪脚本中不起作用。它似乎需要C:(参见我在上面列出的流浪者错误,它尝试访问路径C:/cygwin/home/user/...

答案1

ln -s /cygdrive/c ./C:

谢谢! @StéphaneChazelas

我在自己的帐户下发布了此问题,因此这个问题的答案不会隐藏在评论中。这是我在谷歌搜索时发现自己的问题之后的结果:S

相关内容