如何在Windows上的Bash(相当于cygpath)中获取Windows路径?

时间:2016-12-07 01:12:42

标签: bash windows-10

Cygwin有cygpath

$echo $(cygpath -pw "/cygdrive/c/users/bob/test")
$C:\users\bob\test

如何在Windows上的Bash上实现相同的目标?

1 个答案:

答案 0 :(得分:2)

Windows驱动器位于/mnt目录下,c:/位于/mnt/cd:/位于/mnt/d

因此,您可以使用以下函数(将函数放在.bashrc文件中)

function windir() {
    pwd | sed -E 's+^/mnt/(.{1})+\1:+' | sed 's+:$+:/+1' 
}

第一个sed命令将“/ mnt / c”转换为“c:”(或d:或驱动器号是什么)。第二个sed命令处理根目录的特殊情况。我确信有更优雅的方法可以做到这一点,但这似乎有效。