如何将当前的cygwin目录转换为Windows格式

时间:2015-12-15 11:23:41

标签: windows bash cygwin

要显示当前目录,我正在使用$pwd,这在Cygwin中运行良好。

这个document解释了如何将cygwin目录转换为Windows格式。但为什么$cygpath -w pwd$cygpath -w $pwd不起作用?

这是我在那种情况下得到的:

enter image description here

3 个答案:

答案 0 :(得分:4)

尝试以下任何一个版本:

cygpath -w "$(pwd)"
cygpath -w "$PWD"
cygpath -w "`pwd`"

答案 1 :(得分:0)

我不想记住cygpath - 所以我创建了一个围绕pwd的包装并添加到我的.bashrc

pwd()
{
    if [[ $1 == "-W" ]] ; then 
        cygpath -aw .; 
    else 
        wpwd="-W, --winpath\t  Gives you actual Windoze path"
        err_msg=$(/usr/bin/pwd $* 2>&1);
        let "v = $?"
        if [ $v -eq 1 ] ;  then # have error
            echo "${err_msg}" | sed 's/.*pwd --help.*//' ;
            /usr/bin/pwd --help | sed "s|\(.*  -L, --logi.*\)|  $wpwd\n\1|" 
        else 
            echo "${err_msg}"
        fi
    fi
}

`

答案 2 :(得分:0)

  

但为什么std::terminate$cygpath -w pwd无效?

Git 2.15.x / 2.16(2018年第一季度)说明了这个问题,因为UNC路径在Cygwin构建中也很相关,现在就像Mingw构建一样进行测试。

commit f21d60bAdam Dinwoodie (me-and)(2017年10月31日) Junio C Hamano -- gitster --于2017年11月9日commit b169d18合并)

  

$cygpath -w $pwd:添加Cygwin支持

     指定Windows UNC路径的

t5580测试适用于Git   Cygwin支持UNC路径,虽然只使用正斜杠,而不是反斜杠,   所以在Cygwin和MinGW上运行兼容测试。

     

唯一的复杂因素是Cygwin的t5580,它返回一个* nix风格   路径,这不适合计算UNC路径   当前目录   而是使用Cygwin的pwd实用程序来获取   Windows风格的路径。

这就是测试现在使用的原因:

cygpath