Filenames
在 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/ssh---git@git.highlights.com-7999--vagrant-profile.git 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:
(參見我在上面列出的 vagrant 錯誤,它試圖訪問路徑C:/cygwin/home/user/...
ln -s /cygdrive/c ./C:
謝謝!@StéphaneChazelas
我在我自己的帳戶下發布了這個,所以這個問題的答案不會隱藏在評論中。這是在我在Google搜尋時發現自己的問題之後:S